使用python 3.6.5在Windows 7上进行PYTHONPATH行为

时间:2018-05-23 15:27:47

标签: python

我在一个目录路径中有一些模块,我想在另一个路径中导入python shell。我在shell中设置了PYTHONPATH变量

c:\Users\me\Documents> set PYTHONPATH="C:\Users\me\Documents\sandbox\puzzler3\build\lib"
c:\Users\me\Documents> set | grep PYTHONPATH
PYTHONPATH="C:\Users\me\Documents\sandbox\puzzler3\build\lib"

从默认目录\ Users \ me \ Documents \ poly,我执行以下操作

poly> python
>>> import sys
sys.path

我没有看到列表中的PYTHONPATH路径,而是看到当前默认路径与PYTHONPATH的错位串联。更改为其他默认目录会产生相同的结果,但使用新的目录路径。

'c:\\Users\\me\\Documents\\poly\\"C:\\Users\\me\\Documents\\sandbox\\puzzler3\\build\\lib"'

当然,尝试从所需位置导入模块失败。取消设置PYTHONPATH,重新启动python,打印出sys.path会显示一个没有当前默认目录的列表。

为什么python执行此连接而不是简单地将PYTHONPATH的内容包含为元素是sys.path?

2 个答案:

答案 0 :(得分:1)

删除引号。

set PYTHONPATH=C:\Users\me\Documents\sandbox\puzzler3\build\lib

引号中的字符串似乎被解释为相对路径(文件名可能是?),因此它将它连接到CWD。

答案 1 :(得分:1)

如果您已经设置了PYTHONPATH并且想要将您的库添加到路径中。 (注意:没有引号)

set PYTHONPATH=%PYTHONPATH%;C:\Users\me\Documents\sandbox\puzzler3\build\lib