Podczas instalacji pakietu, wszystkie wymagane pakiety również zostaną z nim zainstalowane (zależności). Czy odinstalowanie tego pakietu powoduje również usunięcie zależnych pakietów?Czy odinstalowanie pakietu za pomocą "pip" powoduje również usunięcie zależnych pakietów?
Odpowiedz
Nie, to nie odinstalować pakiety zależności:
$ pip install specloud
$ pip freeze
listek figowy == 0.6.1
nos == 1.1.2
Pinokio == 0,3
specloud == 0,4 .5
$ pip uninstall specloud
$ pip freeze
listek figowy == 0.6.1
nos == 1.1.2
Pinokio == 0,3
Jak widać wszystkie pakiety są nadal tam, ale nie sam pakiet specloud
.
Można zainstalować i używać narzędzia pip-autoremove, aby usunąć pakiet plus nieużywane zależności.
# install pip-autoremove
pip install pip-autoremove
# remove "somepackage" plus its dependencies:
pip-autoremove somepackage -y
i pomyślnie usunięty zależności pakietu za pomocą tego wiersza bash:
for dep in $(pip show somepackage | grep Requires | sed 's/Requires: //g; s/,//g') ; do pip uninstall -y $dep ; done
ten pracował na pip 1.5.4
Chociaż technicznie to rozwiązanie * nie * skutecznie usuwa wszystkie zależności, jak wspomniano w innych odpowiedziach, to * także * odinstalowuje zależności, które ** nie są unikalne dla celu **, w tym te zainstalowane z pakietów systemowych. Na przykład w moim systemie skrypt ten w końcu się nie powiódł, ponieważ pakiet docelowy miał zależności wspólne z pip, więc pip odinstalował swoje własne zależności przed zakończeniem skryptu, a następnie zakończył się niepowodzeniem. – sinisterstuf
także pracuje nad '8.1.2'. – vyscond
Strzeż się tego, usuwając ** tylko ** zależności od następnego poziomu, ale ** nie ** zależności tych zależności. – tamakisquare
A na dokładkę też. Rozważ scenariusze, w których zależności przecinają się z innymi zainstalowanymi pakietami. Lepiej zamarznąć w pliku requirements.txt przy każdej nowej instalacji i porównać wcześniejsze wersje pliku requirements.txt, aby ręcznie usunąć zależności.
Możesz spróbować dla https://github.com/cls1991/pef. Spowoduje to usunięcie pakietu ze wszystkimi zależnościami.
- 1. Czy istnieje sposób na odinstalowanie wielu pakietów za pomocą pip?
- 2. Uzyskaj datę i czas instalacji pakietów zainstalowanych za pośrednictwem pip
- 3. Czy możliwe jest programowe odinstalowanie pakietu w systemie Android?
- 4. Czy usunięcie elementu skryptu powoduje usunięcie jego funkcji z pamięci?
- 5. Tworzenie pakietu pip Pythona z moimi projektami
- 6. Tworzenie pakietów za pomocą Perla
- 7. Jak zainstalować konkretną wersję pakietu z pip?
- 8. sprawdź wersję pakietów pip dostępnych przed instalacją
- 9. Wyłączanie ostrzeżeń podczas instalowania pakietów pip
- 10. Jak odinstalować repozytorium git za pomocą pip?
- 11. Reakcja - usunięcie ze środka listy powoduje usunięcie ostatniego elementu.
- 12. Zainstaluj pyyaml za pomocą pip/Dodaj PyYaml jako zależność pip
- 13. upgade wersja python za pomocą pip
- 14. Usunięcie danych iCloud nie powoduje usunięcia NSUbiquitousKeyValueStore?
- 15. Czy pip może używać istniejących pakietów zamiast pobierać ponownie?
- 16. Jak zainstalować Django 1.5 za pomocą pip?
- 17. Usunięcie obiektu OnClickListener w widoku powoduje usunięcie wszystkich zdarzeń dotykowych w widokach za
- 18. PIP nie instaluje pakietów z pliku require.txt
- 19. Brakujący pakiet powoduje niepowodzenie przywracania pakietu NuGet
- 20. Czy zamykanie obiektu BufferedOutputStream powoduje również zamknięcie podstawowego strumienia wyjściowego?
- 21. Czy zmiana tła powoduje również zmianę dopełnienia linii LinearLayout?
- 22. Czy poprawnie zainstalowałem pip?
- 23. Usunięcie wszystkich znaków niealfanumerycznych za pomocą preg_replace
- 24. pip nie zainstaluje pakietów Python lokalnie z --user
- 25. Instalowanie uwsgi z wtyczkami za pomocą "pip"
- 26. Jak pobrać wieloplatformowe koła za pośrednictwem pip?
- 27. Jak rozpowszechniać system Mac OS X za pomocą bibliotek zależnych?
- 28. Dlaczego nie można znaleźć pakietów pip wymienionych w wynikach `pip search`?
- 29. Jak spakować bibliotekę za pomocą pakietu internetowego?
- 30. Odinstalowywanie pakietów w systemie Mac OS X
Dlaczego nie możesz po prostu spróbować i zobaczyć? Zrobiłbym dokładnie to, aby odpowiedzieć na twoje pytanie, ale z jakiegoś powodu pip nie może teraz uzyskać indeksu paczki tutaj. –
@ThomasVanderStichele, ponieważ wtedy odpowiedź nie byłaby dostępna online dla przyszłych pracowników Google :) – Mark
Znalazłem w [pip newsgroup] (https://groups.google.com/d/topic/python-virtualenv/JqIbyUDy2-E/ dyskusja), że ludzie nie chcą tej funkcjonalności, przynajmniej na razie. Jaka szkoda! –