У меня Python 3 установлен на Cygwin. Однако я не могу установить пакеты Python 3 через pip
. Есть ли способ сделать это?
python
python-3.x
cygwin
pip
Дэвид Й. Стивенсон
источник
источник
ImportError: No module named yaml
, даже после успешного выполненияpip install pyyaml
.pip
сценарий не запускается с правильной версией Python. Попробуйте/path/to/python3 -m pip install ...
вместо этого. Также проверьте шебанг скрипта pip.usr/bin/python3 -m pip install pyyaml
возвращается/usr/bin/python3: No module named pip
. Таким образом, мой первоначальный вопрос; как установить pip-3 на cygwin?python3 -m ensurepip
иpython2 -m ensurepip
. Посмотрите на python.org/dev/peps/pep-0453Ответы:
1) При установке cygwin убедитесь, что вы установили python / python-setuptools из списка. Это установит пакет easy_install.
2) Введите следующую команду:
Вы должны заменить
a.b
свою версию Python, которая может быть 2.7, 3.4 или любой другой.источник
easy_install-2.7 pip && pip install 'pip<8' && pip install pip --upgrade
Если у вас более одной установки python, вам необходимо установить pip (и, возможно, также setuptools) для каждой установки отдельно.
Для этого вы можете сначала загрузить
ez_setup.py
и запустить его с помощью python3:/usr/bin/python3 ez_setup.py
Это должно установить setuptools, а также создать
easy_install
сценарий для вашей версии Python, например/usr/bin/easy_install-3.2
, который вы можете использовать для установки pip:/usr/bin/easy_install-3.2 pip
Это установит pip в каталог пакетов вашего сайта python3 и снова создаст скрипт
/usr/bin/pip-3.2
, который вы можете использовать для установки пакетов для этой версии python.Или вы можете следовать инструкциям по установке здесь и здесь .
источник
Я думаю, что альтернативные инструкции по установке, связанные с mata, самые простые:
источник
Поскольку OP конкретно говорит о Python3, я думаю, нам нужно указать это на тот случай, если у пользователя уже установлен Python2, что очень вероятно.
# 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)
Кстати. Есть несколько форков apt-cyg , но лучше всего поддерживается kou1okada , она вам понравится.
РЕДАКТИРОВАТЬ: 2018-11-15
Поскольку я начал не использовать virtualenv , мне недавно пришлось обновить установку Cygwin Python3, и в процессе я реализовал несколько вещей, которые должны были быть очевидными, но о которых легко забыть.
При установке и использовании Python3 в Cygwin (и, вероятно, в большинстве других дистрибутивов * nix), устанавливайте только базовый интерпретатор Python3 как пакет Cygwin. С этого момента используйте только установщик pip .
После того, как вы установили или обновили какие-либо пакеты python3 с помощью pip , ваш менеджер пакетов Cygwin сообщит, что ваш пакет
"Incomplete"
. Это потому, что pip заменил / обновил файлы в этом пакете. Проверьте с:cygcheck.exe -c |grep Incomplete
.Не переустанавливайте эти пакеты с Cygwin.
# cygcheck.exe -c |grep Incomplete python3-setuptools 34.3.2-1 Incomplete
Итак, то, что я сделал, было очищено от всех пакетов Cygwin, связанных с python3, кроме самого Python3. Затем я вновь установлен только один необходимый:
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
Это также должно было переустановить все зависимости setuptools с последними обновлениями.
С этого момента сделайте себе одолжение и начните использовать виртуальную среду.
источник
ensurepip
необходимо из - за Cygwin? Обычноpip
на борту, см. Здесьpip
установили, вы всегда можете создать символическую ссылку/usr/bin/
, но, возможно, более элегантно использовать собственное исправление surepip . IDK, если у меня уже была старая версия или она была установлена вместеsetuptools
, ноensurepip
пакет у меня не установлен.В Windows вы можете использовать pip для установки пакетов. Если у вас есть несколько установок python под cygwin, укажите полный путь к python, например Python 2
/usr/bin/python2.7 -m pip install pyyaml
Python 3
/usr/bin/python3.6 -m pip install pyyaml
Если у вас не установлен pip, установите его, используя команду ниже
/usr/bin/python2.7 -m ensurepip
или же
/usr/bin/python3.6 -m ensurepip
источник
Я только что узнал, вдохновленный https://www.scivision.co/install-pip-in-cygwin/ и предыдущий ответ, что вместо использования pip вам просто нужно использовать pip2 для python2 или pip3 для python 3 в cygwin на окнах. Целый день думал об этом ...
источник