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

可以在Windows上为PYTHONPATH使用多个路径吗?,python,pythonpath,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设置为dir1或dir2,则执行相应的sitecustomize.py: C:\t

我有一个干净的虚拟机,带有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
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
但是,如果我将两个dir都添加到pythonpath,则只执行firstdir的
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
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
中可以有多个dir吗?或者我只能有一个dir?文档说明我可以在
PYTHONPATH
中有许多目录,但它没有说明任何关于
sitecustomize.py

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

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

有关该过程的说明,请参见:

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


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