2015-05-14 37 views
8

Istnieje wiele zasobów, które porównują i porównują zalety i wady korzystania z pakietów apt-get i pip w celu instalacji, aktualizacji i odinstalowania pakietów Pythona.Aktualizacja/deinstalacja przy użyciu pakietów Pip zainstalowanych razem z apt (i na odwrót)

Czego nie mogę znaleźć, to zasób informujący o tym, co się stanie, jeśli coś, co jest instalowane przez jednego menedżera pakietów, jest aktualizowane lub odinstalowywane przez drugiego.

Po uruchomieniu pip list, wyświetla listę wielu zainstalowanych pakietów, z których większość w moim systemie została zainstalowana przez apt-get, a nie pip.

Czy te dwa menedżery pakietów są w stanie zarządzać pakietami zainstalowanymi przez innych? Lub jest pip w stanie zarządzać pakiet zainstalowany przez apt-get, ale potem apt-get jest pomijany później. Czy apt-get jest w stanie zarządzać pakietem instalowanym przez pip?

+1

Zasada: w razie wątpliwości nigdy nie używaj więcej niż jednego menedżera pakietów. Wszyscy znani mi menedżerowie pakietów są samolubni - oczekują, że będą jedynymi łączącymi pakiety w twoim systemie. Ale z pipem masz wiele opcji: możesz użyć 'pip install --user', aby zainstalować pakiety w katalogu domowym twojego użytkownika. Jeszcze lepszym wyborem jest użycie 'virtualenv', aby upewnić się, że nie ingerujesz w pythona systemu. – cel

Odpowiedz

1

Polecam, aby spróbować uniknąć użycia dwóch (lub więcej) menedżerów pakietów w tym samym czasie. Jest mało prawdopodobne, że będą współpracować poprawnie i sprawnie.

Jeśli to możliwe, wybierz jedno z nich i użyj go. Połącz je tylko, jeśli naprawdę potrzebujesz. Zwykle nie.

Istnieją sposoby unikania konfliktów, takich jak

  • pip install --user <package> który instaluje pakiet do katalogu użytkownika tylko
  • virtualenv który pozwala mieć pakietami za application/projektu - jest to bardzo dobry pomysł ponieważ różne projekty mogą wymagać różnych wersji tego samego pakietu i łatwo przenieść taki projekt do innego komputera itp.
  • venv - Python 3 ma wbudowaną obsługę środowisk wirtualnych