是否可以在Windows上为PYTHONPATH使用多个路径?

时间:2013-01-19 14:27:44

标签: python pythonpath

我有一个干净的虚拟机,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设置为dir1dir2,则会执行相应的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

2 个答案:

答案 0 :(得分:2)

是的,您可以在PYTHONPATH列出多个目录。

sitecustomize是一个在解释器启动时自动导入的模块。因此,如果sitecustomize.py上有多个PYTHONPATH,则只会加载第一个{。}}。

该过程在documentation

中有所描述
  

在这些路径操作之后,尝试导入名为sitecustomize的模块,该模块可以执行任意特定于站点的自定义。它通常由site-packages目录中的系统管理员创建。如果此导入失败且出现ImportError异常,则会被忽略。

答案 1 :(得分:1)

我有时会使用sys.path.append()来添加路径