我有一个干净的虚拟机,XP SP3 32位和ActivePython 2.7.2 32位社区版,目前的目录是“C:\ test”。我已将sitecustomize.py
与“print('dir1')”code indie“C:\ test \ dir1”和sitecustomize.py
一起放入“print('dir2')”code indie“C:\ test \ DIR2" 。
如果我将PYTHONPATH
设置为dir1
或dir2
,则会执行相应的sitecustomize.py
:
C:\test> set PYTHONPATH=C:\test\dir1\
C:\text> python
dir1
>>>exit()
C:\test> set PYTHONPATH=C:\test\dir2\
C:\text> python
dir2
但是如果我将两个目录添加到pythonpath,则只执行第一个目录的sitecustomize.py
:
C:\test> set PYTHONPATH=C:\test\dir1\;C:\test\dir2\
C:\text> python
dir1
>>>exit()
C:\test> set PYTHONPATH=C:\test\dir2\;C:\test\dir1\
C:\text> python
dir2
那么可以在PYTHONPATH
和多个sitecustomize.py
中设置多个目录,还是仅限于一个?文档说明我可以在PYTHONPATH
中有很多目录,但它没有说明sitecustomize.py
答案 0 :(得分:2)
是的,您可以在PYTHONPATH
列出多个目录。
sitecustomize
是一个在解释器启动时自动导入的模块。因此,如果sitecustomize.py
上有多个PYTHONPATH
,则只会加载第一个{。}}。
该过程在documentation:
中有所描述在这些路径操作之后,尝试导入名为
sitecustomize
的模块,该模块可以执行任意特定于站点的自定义。它通常由site-packages目录中的系统管理员创建。如果此导入失败且出现ImportError
异常,则会被忽略。
答案 1 :(得分:1)
我有时会使用sys.path.append()来添加路径