我在一个目录路径中有一些模块,我想在另一个路径中导入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?
答案 0 :(得分:1)
删除引号。
set PYTHONPATH=C:\Users\me\Documents\sandbox\puzzler3\build\lib
引号中的字符串似乎被解释为相对路径(文件名可能是?),因此它将它连接到CWD。 p>
答案 1 :(得分:1)
如果您已经设置了PYTHONPATH并且想要将您的库添加到路径中。 (注意:没有引号)
set PYTHONPATH=%PYTHONPATH%;C:\Users\me\Documents\sandbox\puzzler3\build\lib