你可以簡單地從你的python安裝中刪除目錄,或者是否有任何必須刪除的延遲文件?如何卸載使用distutils安裝的python軟件包?
回答
它根據您傳遞給install
的選項以及系統/包中的distutils configuration files的內容而有所不同。我不相信任何文件在這些方式指定的目錄之外被修改。
值得注意的是,distutils does not have an uninstall command在這個時候。
同樣值得注意的是,刪除軟件包/蛋可能會導致依賴性問題 - 例如easy_install
等實用程序試圖緩解此類問題。
如果這是用於測試和/或開發目的,setuptools有一個develop命令,每次更改時都會更新(因此每次更改時都不必卸載並重新安裝)。你也可以使用這個命令卸載軟件包。
如果你確實使用這個,你聲明爲腳本的任何內容都將作爲延遲文件留下。
是那些獲得安裝,你將需要刪除的三兩件事是:
- 封裝/模塊
- 腳本
- 數據文件
現在我的Linux系統上,這些住在:
- /usr/lib/python2.5/site-包
- 在/ usr/bin中
- 在/ usr /股
但Windows系統,他們更可能Python發佈目錄中是完全對。我對OSX一無所知,除了它更像是遵循linux模式。
是的,簡單地刪除distutils安裝的任何東西都是安全的。這適用於已安裝的文件夾或.egg文件。當然,任何依賴於該代碼的東西都不會起作用。
如果您想再次使用它,只需重新安裝即可。
順便說一句,如果你使用distutils也考慮使用多版本功能。它允許您安裝任何單個軟件包的多個版本。這意味着如果您只想安裝較新的版本,則不需要刪除舊版本的軟件包。
我剛剛卸載了一個python軟件包,儘管我不是某些我做得很完美,我相當有信心。
,我開始通過獲取所有蟒蛇相關的文件列表,按日期排序,這樣的假設在我的包中的文件都會有或多或少相同的時間戳,並且沒有其他文件將。
幸運的是,我已經在/opt/Python-2.6.1
下安裝了python;如果我一直在使用我的Linux發行版附帶的Python,我不得不沖刷/usr
的所有內容,這需要很長時間。
然後,我剛剛檢查了那個清單,並注意到所有我想要核彈的東西都包含一個目錄,/opt/Python-2.6.1/lib/python2.6/site-packages/module-name/
和一個文件/opt/Python-2.6.1/lib/python2.6/site-packages/module-x.x.x_blah-py2.6.egg-info
。
所以我剛刪除這些。
這裏就是我得到的文件日期排序列表:
find "[email protected]" -printf '%[email protected] ' -ls | sort -n | cut -d\ -f 2-
(我認爲這一定是GNU「查找」,順便說一句,你在OS X上的味道沒有按」 t知道「-printf'%T @」)
我使用那個全部的時候。
對於Windows 7,
控制面板 - >程序 - >卸載
,然後
選擇Python包刪除。
另一個基於時間戳黑客:
- 創建錨:
touch /tmp/ts
- 重新安裝程序包被刪除:
python setup.py install --prefix=<PREFIX>
- 刪除的文件有什麼比錨文件更近:
find <PREFIX> -cnewer /tmp/ts | xargs rm -r
在Ubuntu 12.04中,我發現,只需要在默認情況下看的地方是
下/usr/local/lib/python2.7/
只需刪除關聯的文件夾和文件,如果有的話!
install --record
+ xargs rm
sudo python setup.py install --record files.txt
xargs sudo rm -rf < files.txt
刪除所有文件,但留下空目錄後面。
這是不理想的,應該足以避免包衝突。
然後你可以通過閱讀files.txt
手動,如果你想完成這項工作,或者是勇敢和自動化空目錄去除爲好。
一個安全助手是:
python-setup-uninstall() (
sudo rm -f files.txt
sudo python setup.py install --record files.txt && \
xargs rm -rf < files.txt
sudo rm -f files.txt
)
在Python 2.7.6,Ubuntu的14.04進行測試。
的Python在Windows中:
python -m pip uninstall "package_keyword"
uninstall **** (y/n)?
- 1. 卸載安裝了Curl的軟件包
- 2. 如何卸載從* .txt文件安裝的pip軟件包?
- 3. 如何使用python 3.x distutils來要求和安裝軟件包?
- 4. 使用pip3卸載Python軟件包
- 5. 如何卸載使用「python setup.py develop」安裝的Python站點包?
- 6. 如何使用Monkeyrunner卸載軟件包?
- 7. 如何使用puppet卸載軟件包
- 8. 如何卸載安裝了堆棧的Haskell軟件包?
- 9. 巧克力:如何重新安裝卸載的軟件包
- 10. 如何卸載由Pip安裝的Python軟件包引入的依賴關係?
- 11. 如何從cygwin中未安裝卸載mpich2軟件包
- 12. 如何卸載使用easy_install安裝的軟件包的不活動版本
- 13. 如何使用python安裝工具安裝軟件包?
- 14. 如何避免使用distutils覆蓋以前的軟件包安裝
- 15. 從使用pip和distutils setup.py時可能指定artifactory來安裝python軟件包?
- 16. 即使卸載後如何保留由Advanced Installer軟件包安裝的字體?
- 17. python Beautifulsoup4軟件包安裝
- 18. Python安裝軟件包
- 19. 安裝python軟件包
- 20. WiX Burn軟件包安裝程序 - 處理升級和卸載exe軟件包
- 21. 如何使用pip安裝/卸載特定的python文件夾?
- 22. 「Nuget未能安裝/卸載選定的軟件包」
- 23. python卸載和更新軟件包
- 24. Python Pip卸載多個軟件包
- 25. 使用廚師卸載軟件包
- 26. distutils包的安裝目錄
- 27. 如何使用pythonbrew安裝額外的python軟件包
- 28. 如何使用內置的osx python安裝軟件包?
- 29. Wix安裝程序 - 無法卸載perUser軟件包
- 30. 如何查找今天安裝/卸載的所有軟件?
能否請您更新此直接解決問題的揮之不去的文件的一部分? – 2008-12-31 11:26:17
我以爲我做過 - 沒有文件是由distutils配置和安裝標誌指定的目錄之外創建的,所以任何「延遲」文件都將存在於這些目錄中。它因包裝而異。 – cdleary 2008-12-31 21:53:50
@cdleary:謝謝,但是,我希望你只是澄清和加強你的答案,而不是添加一個長長的評論線程。 – 2009-01-01 00:37:27