2014-09-02 19 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或回聲路徑。