pythonpath_设置Python的PYTHONPATH环境变量
刚开始学习Python的时候,⾃⼰写的模块所在路径要在每⼀次启动Python时,进⾏⼿动添加路劲(使⽤import加载Python模块时的路径)。现在学会了另外⼀个⽅法,通过设置PYTHONPATH环境变量,可以⾃动将你需要的路劲加载到Python的sys.path变量⾥⾯。这样做,节省了不少敲键盘的⼯作。
具体的做法很简单,设置⼀个名叫PYTHONPATH的环境变量,将你想添加的路径作为这个环境变量的值,然后重启启动cmd窗⼝,运⾏python即可。
设置PYTHONPATH的过程需要注意⼏点:
1, 不要⽤set命令设置环境变化(我不知道为什么使⽤set命令设置之后,重启会消失?请参考:Win7下使⽤set命令查看环境变量),直接使⽤计算机->属性->⾼级设置->环境变量,这样设置之后,电脑重启也不会丢失;
2, 如果有多个路径,请使⽤分号进⾏分割(;);
3, 设置之后,重启cmd窗⼝,否则不能⽣效。
Python的原理是,将PYTHONPATH⾥⾯保存的路劲,在Python启动的时候,全部⾃动加载到sys.path变量中。这样,就不⽤每次⼿动改变sys.path的值了。
2018-09-28:
在⼀个模块被导⼊时,PVM(Python Virtual Machine)会在后台从⼀系列路径中搜索该模块,其搜索过程如下:
1、在当前⽬录下搜索该模块;
2、在环境变量PYTHONPATH中指定的路径列表中依次搜索;
3、在python安装路径中搜索
事实上,PVM通过变量sys.path中包含的路径来搜索,这个变量⾥⾯包含的路径列表就是上⾯提到的这些路径信息。
2018-10-14:
刚开始学习unittest模块的使⽤,遇到import失败,通过设置PYTHONPATH轻松解决(Windows平台):
(LinkCheck) D:\pyve\LinkCheck>SET PYTHONPATH=D:\pyve\LinkCheck\src
(LinkCheck) D:\pyve\LinkCheck>SET PYTHONPATH
PYTHONPATH=D:\pyve\LinkCheck\src
(LinkCheck) D:\pyve\LinkCheck>
(LinkCheck) D:\pyve\LinkCheck>python -m unittest src/test.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
(LinkCheck) D:\pyve\LinkCheck>python -m unittest -v src/test.py
test_IsValidDomain (st.Test_website) ... ok
----------------------------------------------------------------------
环境变量path误删有影响吗Ran 1 test in 0.001s
OK
(LinkCheck) D:\pyve\LinkCheck>
使⽤python -m的时候,unittest模块所在路径与当前需要测试的⽂件路径不⼀致,⽽当前的这个路径是随项⽬变化的,通过设置PYTHONPATH,unittest模块在运⾏的时候,当前路径下的模块之间的import,也能够到路径。
注意:
(1)unittest不⽤加.py,⽽src/test.py⼀定要加.py;
(2)cmd窗⼝关闭之后,PYTHONPATH就失效了,要重新添加;
(3)set pythonpath,⼤⼩写⽆关,但后⾯的路径⼤⼩写有关。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。