Na powierzchni obydwa robią to samo: wykonanie albo
python setup.py install
lub
pip install <PACKAGE-NAME>
zainstaluje dla ciebie pakiet Pythona, z minimalną ilością zamieszania.
Jednak korzystanie z pip oferuje dodatkowe korzyści, które sprawiają, że korzystanie z niego jest o wiele przyjemniejsze.
- pip automatycznie pobierze wszystkie zależności dla pakietu dla ciebie. W przeciwieństwie do tego, jeśli używasz
setup.py
, często musisz ręcznie szukać i pobierać zależności, co jest uciążliwe i może stać się frustrujące.
- pip śledzi różne metadane, które umożliwiają łatwe odinstalowanie i aktualizację pakietów za pomocą jednego polecenia:
pip uninstall <PACKAGE-NAME>
i pip install --upgrade <PACKAGE-NAME>
. W przeciwieństwie do tego, jeśli instalujesz pakiet za pomocą setup.py
, musisz ręcznie usunąć i utrzymywać pakiet ręcznie, jeśli chcesz się go pozbyć, co może być potencjalnie podatne na błędy.
- Nie musisz już ręcznie pobierać plików. Jeśli używasz
setup.py
, musisz odwiedzić witrynę biblioteki, dowiedzieć się, gdzie ją pobrać, wyodrębnić plik, uruchomić setup.py
... Natomiast pip automatycznie wyszuka Python Package Index (PyPi), aby sprawdzić, czy pakiet istnieje, oraz automatycznie pobierze, wyodrębni i zainstaluje pakiet dla ciebie. Z kilkoma wyjątkami, prawie każda prawdziwie użyteczna biblioteka Pythona znajduje się na PyPi.
- pip pozwoli ci uzyskać koła easily install, co jest nowym standardem dystrybucji Pythona. More info about wheels.
- pip oferuje dodatkowe korzyści, które dobrze integrują się z używaniem
virtualenv
, który jest programem, który pozwala uruchamiać wiele projektów, które wymagają konfliktowych bibliotek i wersji Pythona na komputerze. More info.
- pip jest domyślnie dołączany do pakietu Python od wersji Python 2.7.9 w serii Python 2.x, a od wersji Python 3.4.0 do serii Python 3.x, dzięki czemu jest jeszcze łatwiejszy w użyciu.
Więc w zasadzie użyj pip. Oferuje tylko ulepszenia w zakresie korzystania z python setup.py install
.
Jeśli używasz starszej wersji Pythona, nie można uaktualnić, a nie masz zainstalowanego pip można znaleźć więcej informacji na temat instalowania pip na poniższych linków:
pip sam, tak naprawdę nie wymaga samouczka. W 90% przypadków jedynym poleceniem, którego naprawdę potrzebujesz, jest pip install <PACKAGE-NAME>
. Mimo to, jeśli jesteś zainteresowany dowiedzieć się więcej o szczegółach, co dokładnie można zrobić z pip, patrz:
Powszechnie zaleca się również użycie pip i virtualenv razem. Jeśli jesteś początkującym użytkownikiem Pythona, osobiście uważam, że byłoby dobrze zacząć od zwykłego korzystania z pip i instalowania pakietów na całym świecie, ale w końcu myślę, że powinieneś przejść do korzystania z virtualenv, gdy zajmiesz się bardziej poważnymi projektami.
Jeśli chcesz dowiedzieć się więcej na temat korzystania z PIP i virtualenv razem, patrz:
Użyj 'pip'. Możesz odinstalować z nim pakiety. – Blender
"Od źródła" jak w "Kasa VCS", czy jak w 'sdist'? – delnan
Co jest "najlepsze", zależy od Twoich wymagań! Wypróbowałeś któreś z tych rozwiązań i ich zawiodłeś w jakiś sposób? Czy zastanawiasz się, jaka jest różnica * między tymi podejściami? –