Zainstalowałem pip używając get-pip.py
tego, co pip freeze
powoduje błąd poniżej
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 74, in run
req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags)
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 299, in from_dist
assert len(specs) == 1 and specs[0][0] == '=='
AssertionError
Storing debug log for failure in /home/simon/.pip/pip.log
Więc sprawdziłem, że 1.7 jest najnowszy. Jeśli wykonałem poniższe kroki i nie aktualizuję się ... Pomóż mi tutaj ...
simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
simon@simon-OptiPlex-780:~/Nightybuild$ pip install -U pip
Downloading/unpacking pip
Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
Successfully installed pip
Cleaning up...
simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
Odpowiedzi:
Zwykle uruchamiam następujące polecenia, aby uaktualnić zarówno
pip2
(=pip
domyślnie), jak ipip3
:Musisz upewnić się, że uaktualniasz wersję (dla Python 2 lub 3), którą chcesz zareagować na polecenie
pip
bez numeru, na końcu.Należy również pamiętać, że dzięki temu stare wersje
apt-get
pakietu są instalowane za pośrednictwem dowolnego menedżera pakietów, ale dodaje nowe wersje, które nie mają nic wspólnego z pakietami systemowymi. Tepip
korzystne będą Zainstalowane pakiety, ale nie należy usuwaćapt-get
Zainstalowane te albo, ponieważ menedżer pakietów nie może wiedzieć, że każdapip
wersja jest zainstalowana inaczej.źródło
sudo -H
?pip
chce zapisać pobrane pliki gdzieś w pamięci podręcznej. Zaimplementowano je, aby umieścić je w podfolderze katalogu domowego bieżącego użytkownika. Jeśli uruchomisz go bez-H
niego, narzeka, ponieważ wykrywa, że aktualnie ustawiony katalog domowy (zwykły użytkownik) nie pasuje do użytkownika, który działa jako (root). Gdyby zapisał swoje pliki w twoim katalogu domowym, byłyby własnością root i nie byłyby dla ciebie dostępne jako zwykły użytkownik. Dlatego w tym przypadku nie buforuje plików. Nie jest straszne pominięcie tego,-H
copip
je wykrywa i ostrzega.pip
polecenie? Kiedy aktualizujępip2
, nie uaktualniapip2
polecenia, tylkopip
.pip
zależy od tego, którą wersję Pythona wywołujesz. i dlatego jego polecenia sąpip2
ipip3
odpowiednio wywołać odpowiednią wersję Pythona zaktualizować pip. Czy to ma sens?Myślę że
polecenie już nie działa poprawnie. Prawidłowe polecenie powinno brzmieć:
dla Python 3:
dla Python 2:
źródło
pip install -U pip
(patrz Aktualizacja pipa )Przejdź do tej strony https://pypi.python.org/pypi/pip
skopiuj (lub) pobierz link źródłowy (kończy się na .tar.gz)
dla wersji 9.0.1 link to https://pypi.python.org/pypi?:action=show_md5&digest=35f01da33009719497f01a4ba69d63c9
procedura instalacji
wersję należy zmienić na najnowszą, a łącze można zaktualizować za pomocą łącza najnowszej wersji
to powinno działać
źródło
pip install -U pip
Najkrótszy, jaki znam.
źródło
Myślę, że warto wspomnieć, że poniżej wyjaśniam, jeśli oczekujesz, że pip wskaże Python 2, a pip3 wskaże Python 3. Powodem, o którym wspominam, jest to, że podczas aktualizacji pip3 przejmuje on również polecenie pip jako dobrze. Jest to dość dziwna konwencja, ponieważ domyślnie python wskazuje na 2.x, a python3 wskazuje na 3.x. Biorąc to pod uwagę ...
Jeśli chcesz mieć najnowsze wersje Python 2.x pip i Python 3.x pip3 współistnieją na tym samym komputerze (używając pip dla 2.x i pip3 dla 3.x), musisz wykonać następujące czynności:
Inne odpowiedzi udzielone przez innych nie wspominają, że po uruchomieniu sudo pip3 install pip - upgrade , skończysz na poleceniu pip instalującym pakiety w katalogach python 3.x zamiast katalogów python 2.x.
Część mnie uważa, że powinniśmy po prostu zostawić pip po aktualizacji pip3 (nawet jeśli to pip -> pip3), ale istnieje niebezpieczeństwo, że ludzie już oczekują, że pip będzie działał jak python - oba wskazują na python 2.x. Innymi słowy, ludzie są prawdopodobnie przeszkoleni do korzystania z pip / python dla Pythona 2.x tak samo, jak zostali przeszkoleni do korzystania z pip3 / python3 dla python 3.x.
źródło
Mam ten sam błąd i rozwiązałem go za pomocą następujących poleceń.
ImportError: Brak modułu o nazwie opakowanie.wersja
źródło
apt-get purge -y python-pip
pracował dla mnie