Niedawny postęp
Marzec 2014 : Dobra wiadomość! Python 3.4 jest dostarczany z Pip. Pip od dawna jest de facto standardowym menedżerem pakietów Pythona. Możesz zainstalować taki pakiet :
pip install httpie
Wahey! To najlepsza cecha każdego wydania Pythona. Dzięki temu bogactwo bibliotek społeczności jest dostępne dla wszystkich. Nowicjusze nie są już wykluczani z korzystania z bibliotek społeczności z powodu zaporowej trudności konfiguracji.
Jednak nadal istnieje wiele wyjątkowych frustracji związanych z pakowaniem w Pythonie. W sumie sprawiają, że Python jest bardzo niezbyt zachęcający dla początkujących. Również długa historia zaniedbań (tj. Brak dostawy z menedżerem pakietów przez 14 lat z Pythona 2.0 do Pythona 3.3) wyrządziła szkody społeczności. Poniżej opiszę oba.
Niezwykłe frustracje
Ważne jest, aby zrozumieć, że chociaż doświadczeni użytkownicy są w stanie obejść te frustracje, stanowią one znaczące bariery dla osób, które nie znają Pythona. W rzeczywistości trudność i ogólna nieprzyjazna dla użytkownika może zniechęcić wielu z nich.
Witryna PyPI jest pomocna w zwalczaniu
Każdy język z menedżerem pakietów ma oficjalne (lub quasi-oficjalne) repozytorium, w którym społeczność może pobierać i publikować pakiety. Python ma indeks pakietów Pythona, PyPI. https://pypi.python.org/pypi
Porównajmy jego strony ze stronami RubyGems i Npm (menedżera pakietów Node).
- https://rubygems.org/gems/rails Strona RubyGems dotycząca pakietu
rails
- https://www.npmjs.org/package/express Npm Strona pakietu
express
- https://pypi.python.org/pypi/simplejson/ Strona PyPI dotycząca pakietu
simplejson
Zobaczysz, że strony RubyGems i Npm zaczynają się od jednowierszowego opisu pakietu, a następnie dużych, przyjaznych instrukcji, jak go zainstalować.
Tymczasem biada każdemu nieszczęsnemu użytkownikowi Pythona, który naiwnie przegląda PyPI. Na https://pypi.python.org/pypi/simplejson/ nie znajdą takich pomocnych instrukcji. Istnieje jednak duży zielony link „Pobierz”. Przestrzeganie go nie jest nierozsądne. Aha, klikają! Ich przeglądarka pobiera .tar.gz
plik. Wielu użytkowników systemu Windows nie może go nawet otworzyć, ale jeśli wytrwają, mogą w końcu go wyodrębnić, a następnie uruchomić setup.py
i ostatecznie z pomocą Google setup.py install
. Niektórzy poddadzą się i wymyślą koło na nowo.
Oczywiście wszystko to jest złe. Najprostszym sposobem zainstalowania pakietu jest poleceniem PIP. Ale PyPI nawet nie wspomniał o Pipie. Zamiast tego poprowadził ich archaiczną i nudną ścieżką.
Błąd: nie można znaleźć pliku vcvarsall.bat
Numpy to jedna z najpopularniejszych bibliotek Pythona. Spróbuj zainstalować go za pomocą Pipa, otrzymasz ten tajemniczy komunikat o błędzie:
Błąd: nie można znaleźć pliku vcvarsall.bat
Próba rozwiązania tego jednego z najpopularniejszych pytań dotyczących przepełnienia stosu: „ błąd: nie można znaleźć pliku vcvarsall.bat ”
Niewielu ludziom się to udaje.
Dla porównania, w tej samej sytuacji Ruby wyświetla ten komunikat, który wyjaśnia, co się dzieje i jak to naprawić:
Zaktualizuj swoją ścieżkę PATH, aby zawierała narzędzia do kompilacji lub pobierz DevKit ze strony http://rubyinstaller.org/downloads i postępuj zgodnie z instrukcjami na http://github.com/oneclick/rubyinstaller/wiki/Development-Kit
Publikowanie pakietów jest trudne
Ruby i Nodejs są dostarczane z w pełni funkcjonalnymi menedżerami pakietów, Gem (od 2007 r.) I Npm (od 2011 r.), I pielęgnują wspólnoty udostępniania skupione wokół GitHub. Npm sprawia, że publikowanie pakietów jest tak proste, jak ich instalowanie, ma już 64 tys . Pakietów . RubyGems wyświetla 72 tys . Pakietów . Czcigodny indeks pakietów Pythona zawiera tylko 41k .
Historia
Latając w obliczu motta „ baterie w zestawie ”, Python był dostarczany bez menedżera pakietów do 2014 roku.
Aż do Pipa de facto standardem był rozkaz easy_install
. To było żałośnie niewystarczające. Nie było polecenia do odinstalowania pakietów.
Pip był ogromną poprawą. Miał większość funkcji Ruby's Gem. Niestety Pip był - do niedawna - ironicznie trudny do zainstalowania. W rzeczywistości problem pozostaje głównym pytaniem Pythona w Stack Overflow: „ Jak zainstalować pip w systemie Windows? ”