Встановлення 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.