Встановлення Pip-3.2 на Cygwin


84

У мене встановлений Python 3 на Cygwin. Однак я не можу встановити пакети Python 3 через pip. Чи є спосіб зробити це?


1
чому ні? ви встановили pip для цієї інсталяції python? яку помилку ви отримуєте?
mata

Pip встановлено, але він встановлює версію пакета python 2. Наприклад, мій скрипт, який вимагає повернення pyyaml ImportError: No module named yaml, навіть після успішного запуску pip install pyyaml.
Девід Ю. Стефенсон,

1
Тоді pipсценарій не запускається з правильною версією python. /path/to/python3 -m pip install ...Натомість спробуйте . Також перевірте shebang сценарію pip.
mata

@mata FYI, також встановлений Python 2. usr/bin/python3 -m pip install pyyamlповертається /usr/bin/python3: No module named pip. Таким чином, моє оригінальне запитання; як встановити pip-3 на cygwin?
Девід Ю. Стефенсон

1
python3 -m ensurepipі python2 -m ensurepip. Подивіться на python.org/dev/peps/pep-0453
gavenkoa

Відповіді:


128

1) Під час встановлення cygwin переконайтесь, що ви встановили python / python-setuptools зі списку. Це встановить пакет "easy_install".

2) Введіть таку команду:

easy_install-a.b pip   

Ви повинні замінити a.bвашу версію python, яка може бути 2.7 або 3.4 або якоюсь іншою.


4
Ця відповідь для мене чудово спрацювала. Мені довелося зробити кілька додаткових кроків, тому що я працюю в університеті: Спочатку я перейшов до мого шляху встановлення (c: / cygwin64 / bin /). Потім автозаповнення допомогло мені знайти файл легкої інсталяції з назвою дещо відрізняється: easy_install 2.7.9
Protomancer

6
Я зробив це, щоб опинитися в стані без яєць:easy_install-2.7 pip && pip install 'pip<8' && pip install pip --upgrade
Ентоні Соттіл

6
для python3 використовуйте пакети python3 & python3-setuptools . Це очевидно, але можна забути про python 3 -setuptools
simon

2
І не забувайте версію (тобто -2,7). У мене був інший дистрибутив python на моєму комп'ютері, і 'easy_install' викликав його, а не cygwin.
jtbr

44

Якщо у вас більше однієї інсталяції 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.

Крім того, ви можете слідувати інструкціям з установки тут і тут .


2
Відмінно! Після цієї відповіді я зміг вирішити свою проблему з cygwin.

Я отримую цю помилку "OSError: [Errno 13] Дозвіл відмовлено" під час встановлення в cygwin. Я маю права адміністратора на цій машині.
arulraj.net

2
Посилання на ez_setup.py мертве
spartygw

29

Я думаю, що альтернативні інструкції з встановлення, зв’язані mata, найпростіші:

Щоб встановити pip, надійно завантажте get-pip.py .

Потім запустіть наступне (що може вимагати доступу адміністратора):

python get-pip.py

2
fwiw, здається, це мовчки нічого не робить під cygwin - не впевнений, чому :(
Ентоні Соттіл

2
Працює під керівництвом Бабуна, у Windows 10 x64
xizdaqrian

15

Оскільки 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 , вам сподобається.


EDIT: 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є на борту, дивіться тут
Тимо

@Timo, для мене це було, з якоїсь причини мені не вистачало pip3 для python3
Lepidopteron

Поки ви pipвстановили, ви завжди можете ввімкнути символічне посилання /usr/bin/, але, можливо, його більш елегантно використовувати власне виправлення securepip . IDK, якщо у мене вже була стара версія або якщо вона була встановлена ​​разом із setuptools, але у мене не встановлений ensurepipпакет.
not2qubit

2
+1 за рекомендацію вилки kou1okada apt-cyg, вона є найбільш повнофункціональною та найкраще підтримуваною на сьогоднішній день, використовуючи її роками.
Прометей

2

У вікнах ви можете використовувати 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

0

Я щойно дізнався, натхненний https://www.scivision.co/install-pip-in-cygwin/ і відповідь раніше, що замість використання pip, вам просто потрібно використовувати pip2 для python2 або pip3 для python 3 в cygwin на вікнах. Цілий день дивувався цьому ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.