使用python 3.6.5的Windows 7上的PYTHONPATH行为

2024-05-19 00:20:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个目录路径中有一些模块,我想在另一个路径中导入到pythonshell中。我在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元素


Tags: 模块pathbuild路径目录libsysusers
2条回答

如果您已经设置了PYTHONPATH,并且希望将库也添加到路径中,请执行以下操作(注意。(不带引号)

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

删除引号

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

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

相关问题 更多 >

    热门问题