當您使用pip
安裝軟件包時,所有必需的軟件包也將隨它一起安裝(依賴項)。卸載該軟件包是否也會刪除相關軟件包?使用「pip」卸載軟件包是否也刪除相關軟件包?
回答
不,不卸載的依賴包:
$ pip install specloud
$ pip freeze
雲南黑籽== 0.6.1
鼻子== 1.1.2
木偶奇遇記== 0.3
specloud == 0.4 0.5
$ pip uninstall specloud
$ pip freeze
雲南黑籽== 0.6.1
鼻子== 1.1.2
木偶奇遇記== 0.3
正如你可以看到所有的包都仍然存在,但不是specloud
包本身。
您可以安裝並使用pip-autoremove實用工具刪除軟件包和未使用的依賴項。
# install pip-autoremove
pip install pip-autoremove
# remove "somepackage" plus its dependencies:
pip-autoremove somepackage -y
我已經成功地刪除使用此bash的行包的依賴關係:
for dep in $(pip show somepackage | grep Requires | sed 's/Requires: //g; s/,//g') ; do pip uninstall -y $dep ; done
這個工作對PIP 1.5.4
儘管從技術上講,這個解決方案*成功地刪除了所有的依賴關係,正如其他答案中提到的那樣,它*還*卸載了對目標**不唯一的依賴項,包括從系統包安裝的依賴項。例如,在我的系統上,這個腳本最終失敗了,因爲目標包與pip有相關的依賴關係,所以pip在腳本完成之前卸載了它自己的依賴關係,然後失敗了。 – sinisterstuf
也在'8.1.2'上工作。 – vyscond
請注意,這隻會刪除**下一級別的依賴關係,但**不會**這些依賴關係的依賴關係。 – tamakisquare
和良好的措施了。考慮依賴與您安裝的其他軟件包相交的場景。每次新安裝時,最好將其凍結爲一個requirements.txt文件,並比較以前版本的requirements.txt以手動刪除依賴項。
您可能試過https://github.com/cls1991/pef。 它將刪除其所有依賴關係的包。
- 1. pip試圖卸載系統軟件包
- 2. Python Pip卸載多個軟件包
- 3. Openshift pip卸載舊軟件包版本
- 4. Linux:TRULY卸載軟件包?
- 5. 無法卸載軟件包
- 6. 刪除軟件包
- 7. 如何使用Monkeyrunner卸載軟件包?
- 8. 如何使用puppet卸載軟件包
- 9. 使用廚師卸載軟件包
- 10. 使用pip3卸載Python軟件包
- 11. python使用pip軟件包不同於默認的軟件包
- 12. 如何卸載從* .txt文件安裝的pip軟件包?
- 13. 如何在手動刪除pip軟件包後刪除它
- 14. 從我的WiX Burn軟件包中刪除/卸載特定軟件包的正確方法是什麼?
- 15. 刪除RPM軟件包
- 16. pip沒有下載任何軟件包
- 17. 如何從homebrew,distribute,macports,pip中卸載所有軟件包?
- 18. PIP凍結名單上卸載的軟件包
- 19. Visual Studio 2015從wwwroot中刪除卸載的bower軟件包?
- 20. 安裝軟件包安裝是否也更新已安裝的軟件包
- 21. PIP卸載顯示軟件包已卸載,但實際上並非如此
- 22. 在Mac OS X中卸載軟件包
- 23. 卸載系統軟件包cryptsetup
- 24. 在DELPHI XE2中卸載軟件包
- 25. 無法卸載virtualenv中的軟件包
- 26. 如何在Pycharm中卸載軟件包
- 27. 如何卸載系統軟件包?
- 28. 巧克力卸載軟件包
- 29. Debian軟件包卸載過程
- 30. python卸載和更新軟件包
你爲什麼不試試看看?我會盡力回答你的問題,但由於某些原因,現在pip無法在這裏獲得包索引。 –
@ThomasVanderStichele因爲那麼答案將不會在網上提供給未來的Google員工:) – Mark
我在[pip新聞組]中找到了答案(https://groups.google.com/d/topic/python-virtualenv/JqIbyUDy2-E/討論)小人們不希望這種功能,至少現在。多麼可憐! –