2014-09-02 20 views
1

我想卸载一些我正在开发的软件包(位于... plugin-iqf \ test \ performance \ src),但是从Python shell中,我仍然可以导入它。为什么我的sys.path中有太多东西?

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 

从何而来?

+3

你为什么觉得有太多?您将几个软件包安装为鸡蛋,并将这些软件包添加到您的路径中。 – 2014-09-02 14:04:57

+0

因为我试图卸载这些软件包。我删除了鸡蛋,但路径仍然... – xtofl 2014-09-02 14:06:48

+1

它们被'.pth'文件添加,在'site-packages'中寻找它们。 – 2014-09-02 14:07:52

回答

2

Python将.pth文件在四个具体的目录,由上,一方面结合sys.prefixsys.exec_prefix形成,丝竹空(在Windows上)lib/site-packages。那些.pth文件可以列出添加到sys.path的其他路径,每行一个。请参阅site module documentation

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

你也可以有一个sitecustomize模块来操纵sys.path。你可以看到,如果你有一个试图将其导入:

import sitecustomize 
sitecustomize 

要么不能用ImportError或回声路径。