将该行放在.bashrc(Mac上的.profile)中,工作目录位于路径上。把它留下来,它不是。
export PYTHONPATH=$PYTHONPATH
我注意到有线的炮弹在他们的环境输出中有一个PYTHONPATH =线,那些没有穿上它们,所以也许这很重要。如果PYTHONPATH有一些有效的目录但是以':'开头,Python还会添加当前的工作目录。字符。 (简单地将PYTHONPATH设置为某个有效目录会破坏工作目录包含。)
为什么会这样? 确保当前工作目录在sys.path上的最佳做法是什么?
答案 0 :(得分:2)
如果要确保它,请将.
显式添加到pythonpath:
export PYTHONPATH=.:$OTHER_DIRS:$PYTHONPATH
如果您还希望sys.path
中的当前工作目录设置为PYTHONPATH
,那么您可以尝试通过插入某些内容在sitecustomize.py
or usercustomize.py
中设置它像:
sys.path.append(os.getcwd())
附加说明:
自引入per user site-packages以来,最好将用户包放在那里(您可以使用site.USER_SITE
获取文件夹名称)。 pip还可以使用--user
选项轻松安装包thera,所以我发现至少对我来说,很少需要使用PYTHONPATH
。
答案 1 :(得分:1)
根据文档,(这应该清除你的怀疑)
PYTHONPATH是一个环境。变量增加默认搜索 模块文件的路径。格式与shell的PATH相同: 由os.pathsep分隔的一个或多个目录路径名(例如冒号 在Unix上或Windows上的分号)。不存在的目录是 默默地忽略了。
除了普通目录,个别PYTHONPATH条目也可以 请参阅包含纯Python模块的zipfiles(无论是源代码还是 编译形式)。无法从zip文件导入扩展模块。
默认搜索路径是依赖于安装的,但通常是 以prefix / lib / pythonversion开头(参见上面的PYTHONHOME)。它是 总是附加到PYTHONPATH。
将在前面的搜索路径中插入另一个目录 如上所述在接口选项下的PYTHONPATH。搜索 path可以在Python程序中作为变量进行操作 sys.path中。