Khi bạn sử dụng pip
để cài đặt một gói, tất cả các gói bắt buộc cũng sẽ được cài đặt với nó (phụ thuộc). Việc gỡ cài đặt gói đó cũng có xóa các gói phụ thuộc không?Việc gỡ cài đặt gói có "pip" cũng có xóa các gói phụ thuộc không?
Trả lời
Không, nó không gỡ bỏ các phụ thuộc gói:
$ pip install specloud
$ pip freeze
figleaf == 0.6.1
mũi == 1.1.2
pinocchio == 0,3
specloud == 0.4 .5
$ pip uninstall specloud
$ pip freeze
figleaf == 0.6.1
mũi == 1.1.2
pinocchio == 0,3
Như bạn có thể xem tất cả các gói vẫn còn đó nhưng không phải là specloud
gói riêng của mình.
Bạn có thể cài đặt và sử dụng tiện ích pip-autoremove để xóa gói và phụ thuộc không sử dụng.
# install pip-autoremove
pip install pip-autoremove
# remove "somepackage" plus its dependencies:
pip-autoremove somepackage -y
tôi đã gỡ bỏ thành công phụ thuộc của một gói sử dụng dòng bash này:
for dep in $(pip show somepackage | grep Requires | sed 's/Requires: //g; s/,//g') ; do pip uninstall -y $dep ; done
này làm việc trên pip 1.5.4
Mặc dù về mặt kỹ thuật giải pháp này * loại bỏ tất cả các phụ thuộc, như đã đề cập trong các câu trả lời khác, * cũng * gỡ bỏ các phụ thuộc không ** duy nhất cho mục tiêu **, bao gồm cả các gói được cài đặt từ các gói hệ thống. Ví dụ, trên hệ thống của tôi kịch bản này cuối cùng thất bại vì gói đích có các phụ thuộc chung với pip, vì vậy pip đã gỡ bỏ các phụ thuộc của riêng nó trước khi kịch bản lệnh có thể kết thúc, và sau đó thất bại. – sinisterstuf
cũng hoạt động trên '8.1.2'. – vyscond
Hãy coi chừng điều này loại bỏ ** chỉ ** phụ thuộc vào mức độ tiếp theo, nhưng ** không ** phụ thuộc của những phụ thuộc đó. – tamakisquare
Và đối với biện pháp tốt quá. Xem xét các tình huống trong đó các phụ thuộc giao nhau với các gói khác mà bạn đã cài đặt. Bạn nên đóng băng thành tệp requirements.txt với mọi cài đặt mới và so sánh các phiên bản trước của requirements.txt để xóa các phụ thuộc theo cách thủ công.
Bạn có thể thử dùng https://github.com/cls1991/pef. Nó sẽ loại bỏ gói với tất cả các phụ thuộc của nó.
- 1. PIP cài đặt Gói Python không có tệp setup.py?
- 2. Có cách nào để gỡ cài đặt nhiều gói bằng pip không?
- 3. PIP: Chỉ cài đặt các phụ thuộc
- 4. Có cách nào để hiển thị cây phụ thuộc cho gói pip không?
- 5. gói cài đặt pip từ url
- 6. Python pip - cài đặt tài liệu cho các gói?
- 7. Có thể cài đặt Pip phụ thuộc không được chỉ định trong setup.py lúc cài đặt không?
- 8. Cách cài đặt phiên bản gói cụ thể bằng pip?
- 9. Xác định mối quan hệ phụ thuộc đối với các gói python được cài đặt với pip
- 10. Gói nâng cấp mà không nâng cấp phụ thuộc bằng pip?
- 11. pip không thể cài đặt gói từ requirements.txt
- 12. gói Python không cài đặt trong virtualenv sử dụng pip
- 13. Liệt kê R Gói phụ thuộc mà không cần cài đặt gói
- 14. Cây phụ thuộc gói Python
- 15. Cài đặt Python trọn gói từ Github Sử dụng PIP
- 16. pip: gói nâng cấp mà không nâng cấp phụ thuộc cụ thể
- 17. Gói sạch Nuget Xóa/Cài đặt
- 18. BỔ SUNG Gỡ cài đặt gói MSI
- 19. cài đặt gói tarball nguồn Python với pip
- 20. Có sự phụ thuộc vào gói nuget cụ thể
- 21. Làm cách nào để bạn gỡ cài đặt trình quản lý gói "pip", nếu được cài đặt từ nguồn?
- 22. Cài đặt các gói python trong nitrousio
- 23. Pip không cài đặt gói vào virtualenv được kích hoạt, bỏ qua requirements.txt
- 24. cài đặt trên toàn cầu NPM-gói không làm việc
- 25. Gói Python Cài đặt Ngoại tuyến
- 26. Có Gỡ cài đặt một gói chương trình cho các cửa sổ không?
- 27. Gói phụ thuộc
- 28. Không nên "nhập foo. *" Cũng bao gồm gói phụ "foo.bar. *"?
- 29. Có thể pip sử dụng các gói hiện có thay vì tải xuống lại không?
- 30. Cài đặt gói Python trong Windows
Tại sao bạn không thể thử và xem? Tôi sẽ làm chính xác điều đó để trả lời câu hỏi của bạn, nhưng vì lý do nào đó, pip không thể lấy chỉ mục gói ở đây ngay bây giờ. –
@ThomasVanderStichele vì sau đó câu trả lời sẽ không có sẵn trực tuyến cho những người dùng Google trong tương lai :) – Mark
Tôi đã tìm thấy trong [pip newsgroup] (https://groups.google.com/d/topic/python-virtualenv/JqIbyUDy2-E/ thảo luận) người pip không muốn chức năng này, ít nhất là bây giờ. Thật đáng tiếc! –