为什么我的sys.path上有太多东西?

时间:2014-09-02 14:03:33

标签: python path setuptools

我正在尝试卸载我正在开发的一些软件包(驻留在... plugin-iqf \ test \ performance \ src中),但是从Python shell中,我仍然能够导入它。

我的PYTHONPATH是空的,但是......

Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for p in sys.path: print p
...

c:\Python27\lib\site-packages\setuptools-3.3-py2.7.egg
c:\Python27\lib\site-packages\catchy-0.1.3-py2.7.egg
c:\Python27\lib\site-packages\argparse-1.2.1-py2.7.egg
c:\workspaces\remoteadmin-protocol\implementations\python\src
c:\workspaces\reslasher\src
c:\Python27\lib\site-packages\pygtk-2.24.0-py2.7-win32.egg
c:\workspaces\blizzard\closed-source\plugin-titech\plugin-iqf\test\performance\src
C:\Windows\system32\python27.zip
c:\Python27\DLLs
c:\Python27\lib
c:\Python27\lib\plat-win
c:\Python27\lib\lib-tk
c:\Python27
c:\Python27\lib\site-packages
c:\Python27\lib\site-packages\wx-2.8-msw-unicode

这样的地方
c:\workspaces\remoteadmin-protocol\implementations\python\src
c:\workspaces\reslasher\src

来自?

1 个答案:

答案 0 :(得分:2)

Python在四个特定目录中查找.pth个文件,一方面组合sys.prefixsys.exec_prefix,另一方面组合空字符串和({在Windows上)lib/site-packages 。这些.pth文件可以列出要添加到sys.path的其他路径,每行一个。请参阅site module documentation

你可能有一个或多个;在c:\Python27\lib\site-packages中查找此类文件,但任何名称与您未卸载的现有鸡蛋相匹配的文件,以import开头的文件应该保持不变;这些通常是设置命名空间包的钩子。

您还可以拥有一个操作sitecustomize的{​​{1}}模块。您可以通过尝试导入它来查看是否有一个:

sys.path

将以import sitecustomize sitecustomize 失败或回显路径。