2011-12-19 40 views
2

我有一個Python庫非常奇怪的問題。我下載了一個python庫源代碼,更改了一些代碼並使用python setup.py install來安裝該庫。 原始庫已安裝easy_install。稍後,我進一步更改了一些源代碼,並再次調用命令python setup.py install。當我在代碼中使用庫時,我隨機獲得了不同版本的庫被調用。即使通過easy_install -mpip都表示卸載成功,庫仍然無法完全卸載該庫。Python庫問題

環境是Ubuntu的11.04

編輯:當我打電話從Python的命令行相同功能的最新版本是所謂的,但是當我打電話python myfile.py它使用它調用一箇舊生成庫。

+0

您是否嘗試過重新啓動:

如果庫是其他地方的道路上,你可以找到它? – GWW

+0

@GWW我在亞馬遜服務器上運行它。無法承受重啓 – Codevalley

+1

當你說隨機,你真的是指隨機?即,您是否可以以完全相同的方式多次運行相同的程序並獲得不同版本的庫?無論如何,要找出從哪裏加載庫,你可以打印'library .__ file__'的值,如果你想刪除它,這會給你加載庫的目錄。 –

回答

1

安裝程序通常會在site-packages目錄中加載第三方庫代碼。您可以轉到該目錄並刪除該庫(包括新版本和舊版本)。然後你可以做一個全新的安裝(在你編輯的源代碼中使用setup.py)。

>>> import somelib 
>>> print somelib.__file__ 
+0

使用somelib .__ file__遞歸查找安裝的庫的不同版本。刪除它們中的每一個,並再次使用'python setup.py install'。 – Codevalley

+0

不錯,或inspect.getabsfile(somelib) – sunqiang