2014-01-09 34 views
4

我有非常基本的Python安裝腳本,只需調用distutils.core.setup()及相關參數。這些軟件包僅供內部使用,所以目前我不需要太多。在Python包安裝中刪除舊的egg-info文件

讓我感到困惑的是,當安裝新版本的軟件包時,舊的egg-info文件不會自動刪除 - 儘管軟件包目錄被新版本覆蓋。

(1)默認情況下沒有刪除舊文件的原因是什麼?

(2)有沒有推薦的方法來刪除舊版本的egg-info文件,以便在安裝過程變得更加複雜時以後不會讓我感到悲傷?

預先感謝您。

+0

這在他們的版本號與安裝混帳的修訂包時,會導致問題對我來說。 pkg_resources.get_distribution(「包」)然後返回排序最高的版本,而不是最近的(因此是活動的)已安裝的修訂版 – NeilenMarais

回答

3

我也有使用distutils包的egg-info文件的問題。我認爲目前推薦的套件是setuptools。我切換到setuptools修復了舊的egg-info文件帶來的問題。所以我會建議使用setuptools.setup()而不是distutils.core.setup()。看到這個帖子的詳細資料:

Differences between distribute, distutils, setuptools and distutils2?

+0

謝謝您的回答。由於我現在正在開發一個不同的項目,因此可能需要幾周的時間才能完成。 –