Mam Pythona 3 zainstalowanego na Cygwin. Jednak nie mogę zainstalować pakietów Pythona 3 za pośrednictwem pip
. Czy jest na to sposób?
python
python-3.x
cygwin
pip
David Y. Stephenson
źródło
źródło
ImportError: No module named yaml
, nawet po pomyślnym uruchomieniupip install pyyaml
.pip
skrypt nie działa z poprawną wersją języka Python. Spróbuj/path/to/python3 -m pip install ...
zamiast tego. Sprawdź także shebang skryptu pip.usr/bin/python3 -m pip install pyyaml
zwraca/usr/bin/python3: No module named pip
. Stąd moje pierwotne pytanie; jak zainstalować pip-3 na cygwin?python3 -m ensurepip
ipython2 -m ensurepip
. Zajrzyj na python.org/dev/peps/pep-0453Odpowiedzi:
1) Podczas instalacji cygwin upewnij się, że instalujesz python / python-setuptools z listy. Spowoduje to zainstalowanie pakietu „easy_install”.
2) Wpisz następujące polecenie:
Musisz zastąpić
a.b
swoją wersją Pythona, która może być 2.7 lub 3.4 lub cokolwiek innego.źródło
easy_install-2.7 pip && pip install 'pip<8' && pip install pip --upgrade
Jeśli masz więcej niż jedną instalację Pythona, musisz zainstalować pip (i prawdopodobnie także setuptools) dla każdej instalacji oddzielnie.
Aby to zrobić, możesz najpierw pobrać
ez_setup.py
i uruchomić go za pomocą python3:To powinno zainstalować setuptools, a także stworzyć
easy_install
skrypt dla twojej wersji Pythona, np./usr/bin/easy_install-3.2
, Którego możesz użyć do zainstalowania pip:/usr/bin/easy_install-3.2 pip
Spowoduje to zainstalowanie pip w katalogu pakietów witryny python3 i ponowne utworzenie skryptu
/usr/bin/pip-3.2
, którego można użyć do zainstalowania pakietów dla tej wersji języka Python.Alternatywnie możesz postępować zgodnie z instrukcjami instalacji tutaj i tutaj .
źródło
Myślę, że alternatywne instrukcje instalacji połączone przez mata są najprostsze:
źródło
Ponieważ OP mówi konkretnie o Pythonie3, myślę, że musimy to określić na wypadek, gdyby użytkownik miał już zainstalowany Python2, co jest bardzo prawdopodobne.
# If you don't have Python3 already, use apt-cyg: apt-cyg install python3 # First update pip, pip2 pip2 install --upgrade pip # Install pip3: python3 -m ensurepip # Finally update pip3: pip3 install --upgrade pip $ pip3 -V pip 9.0.1 from /usr/lib/python3.4/site-packages (python 3.4)
BTW. Istnieje kilka widelców apt-cyg , ale najlepiej utrzymany jest ten z kou1okada , pokochasz go.
EDYCJA: 2018-11-15
Ponieważ zacząłem nie używać virtualenv , ostatnio musiałem odświeżyć swoją instalację Cygwin Python3 i zdałem sobie sprawę z kilku rzeczy, które powinny być oczywiste, ale można o nich łatwo zapomnieć.
Podczas instalowania i używania Python3 na Cygwin (i prawdopodobnie na większości innych dystrybucji * nix), zainstaluj tylko podstawowy interpreter Python3 jako pakiet Cygwin. Od tego momentu należy używać tylko instalatora pip .
Po zainstalowaniu lub zaktualizowaniu jakichkolwiek pakietów Python3 przy użyciu pip , menedżer pakietów Cygwin będzie narzekał, że jest to pakiet
"Incomplete"
. Dzieje się tak, ponieważ pip zastąpił / zaktualizował pliki w tym pakiecie. Skontaktować się z:cygcheck.exe -c |grep Incomplete
.Nie instaluj ponownie tych pakietów z Cygwin.
# cygcheck.exe -c |grep Incomplete python3-setuptools 34.3.2-1 Incomplete
Więc to, co zrobiłem, wyczyściło wszystkie pakiety Cygwin związane z pythonem3, z wyjątkiem samego Python3. Potem ponownie zainstalowany tylko jeden potrzebne:
python3-setuptools
.# apt-cyg remove python3-setuptools apt-cyg install python3-setuptools # Fix pip3 symlink (or just pip if you don't have python2) ln -s /usr/bin/pip3.6 /usr/bin/pip3 # That also installs the Cygwin packages: # python3-appdirs, python3-packaging, python3-pyparsing, python3-six # Now, update setuptools with pip: pip3 install -U --force-reinstall --only-binary=:all: --no-clean --no-cache-dir setuptools # pip list |grep setuptools setuptools 40.5.0
Powinno to również spowodować ponowne zainstalowanie wszystkich zależności setuptools z najnowszymi aktualizacjami.
Od teraz zrób sobie przysługę i zacznij korzystać z wirtualnego środowiska.
źródło
ensurepip
konieczne ze względu na cygwin? Zwyklepip
jest na pokładzie, patrz tutajpip
zainstalowałeś, zawsze możesz wstawić dowiązanie symboliczne/usr/bin/
, ale być może bardziej eleganckie jest użycie natywnej poprawki applypip . IDK, jeśli miałem już starą wersję lub jeśli została zainstalowana razem zsetuptools
, ale nie mamensurepip
zainstalowanego pakietu.W systemie Windows do instalowania pakietów można użyć pip. Jeśli masz wiele instalacji Pythona pod cygwin, podaj pełną ścieżkę Pythona, np. Python 2
/usr/bin/python2.7 -m pip install pyyaml
Python 3
/usr/bin/python3.6 -m pip install pyyaml
Jeśli nie masz zainstalowanego pip, zainstaluj go za pomocą poniższego polecenia
/usr/bin/python2.7 -m ensurepip
lub
/usr/bin/python3.6 -m ensurepip
źródło
Właśnie się dowiedziałem, zainspirowany https://www.scivision.co/install-pip-in-cygwin/ i wcześniejszą odpowiedzią, że zamiast używać pip, wystarczy użyć pip2 dla python2 lub pip3 dla python 3 w cygwin w oknach. Zastanawiałem się nad tym przez cały dzień ...
źródło