Installer Pip-3.2 sur Cygwin


84

J'ai Python 3 installé sur Cygwin. Cependant, je ne parviens pas à installer les packages Python 3 via pip. Y a-t-il un moyen de faire cela?


1
pourquoi pas? avez-vous installé pip pour cette installation python? quelle erreur obtenez-vous?
— mata

Pip est installé, mais il installe la version python 2 du package. Par exemple, mon script qui nécessite des retours pyyaml ImportError: No module named yaml, même après une exécution réussie pip install pyyaml.
— David Y. Stephenson

1
Ensuite, le pipscript ne s'exécute pas avec la bonne version de python. Essayez /path/to/python3 -m pip install ...plutôt. Vérifiez également le shebang du script pip.
— mata

@mata FYI, Python 2 est également installé. usr/bin/python3 -m pip install pyyamlrevient /usr/bin/python3: No module named pip. Ainsi ma question originale; comment installer pip-3 sur cygwin?
— David Y. Stephenson

1
python3 -m ensurepipet python2 -m ensurepip. Regardez sur python.org/dev/peps/pep-0453
— gavenkoa

Réponses:


128

1) Lors de l'installation de cygwin, assurez-vous d'installer les outils python / python-setuptools de la liste. Cela installera le package "easy_install".

2) Tapez la commande suivante:

easy_install-a.b pip   

Vous devez remplacer a.bpar votre version python qui peut être 2.7 ou 3.4 ou autre.


4
Cette réponse a très bien fonctionné pour moi. J'ai dû faire quelques étapes supplémentaires car je travaille dans une université: d'abord, j'ai navigué vers mon chemin d'installation (c: / cygwin64 / bin /). Ensuite, l'auto-complétion m'aide à trouver le fichier d'installation facile nommé légèrement différent: easy_install 2.7.9
— Protomancer

6
J'ai fait ça pour me retrouver dans un état sans œufs:easy_install-2.7 pip && pip install 'pip<8' && pip install pip --upgrade
— Anthony Sottile

6
pour python3, utilisez les packages python3 et python3-setuptools . C'est évident, mais on peut oublier python 3 -setuptools
— simon

2
Et n'oubliez pas la version (c'est-à-dire -2,7). J'avais une autre distribution python sur mon ordinateur et 'easy_install' invoquait celle-là plutôt que celle de cygwin.
— jtbr

44

Si vous avez plus d'une installation python, vous devez installer pip (et probablement aussi setuptools) pour chaque installation séparément.
Pour ce faire, vous pouvez d'abord le télécharger ez_setup.pyet l'exécuter avec python3:

/usr/bin/python3 ez_setup.py

Cela devrait installer setuptools, et également créer un easy_installscript pour votre version de python, par exemple /usr/bin/easy_install-3.2, que vous pouvez utiliser pour installer pip:

/usr/bin/easy_install-3.2 pip

Cela installera pip dans votre répertoire de packages de site python3 et créera à nouveau un script /usr/bin/pip-3.2que vous pourrez utiliser pour installer des packages pour cette version de python.

Vous pouvez également suivre les instructions d'installation ici et ici .


2
Excellent! J'ai pu résoudre mon problème cygwin en suivant cette réponse.

J'obtiens "OSError: [Errno 13] Permission refusée" cette erreur lors de l'installation dans cygwin. J'ai des droits d'administrateur sur cette machine.
— arulraj.net

2
Le lien vers ez_setup.py est mort
— spartygw


15

Puisque OP parle spécifiquement de Python3, je pense que nous devons le spécifier au cas où l'utilisateur aurait déjà installé Python2, ce qui est très probable.

# 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. Il existe plusieurs fourches d' apt-cyg , mais la mieux entretenue est celle de kou1okada , vous allez l'adorer.


MODIFIER: 2018-11-15

Parce que j'ai commencé sans utiliser virtualenv , j'ai récemment dû actualiser mon installation Cygwin Python3, et j'ai réalisé certaines choses dans le processus qui auraient dû être évidentes, mais qui peuvent facilement être oubliées.

  • Lors de l'installation et de l'utilisation de Python3 sur Cygwin (et probablement sur la plupart des autres distributions * nix), installez uniquement l'interpréteur Python3 de base en tant que package Cygwin. À partir de là, utilisez uniquement le programme d' installation de pip .

  • Après avoir installé ou mis à jour les packages python3 à l'aide de pip , votre gestionnaire de packages Cygwin se plaindra que votre package est "Incomplete". C'est parce que pip a remplacé / mis à jour les fichiers de ce package. Vérifiez auprès de : cygcheck.exe -c |grep Incomplete.
    Ne réinstallez pas ces packages avec Cygwin.

# cygcheck.exe -c |grep Incomplete
python3-setuptools      34.3.2-1         Incomplete

Donc, ce que j'ai fait, a été d'éliminer tous les packages Cygwin liés à python3, à l' exception de Python3 lui-même. Ensuite , je ré-installé le seul nécessaire: 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

Cela aurait également dû réinstaller toutes les dépendances setuptools avec les dernières mises à jour.

Désormais, rendez-vous service et commencez à utiliser un environnement virtuel.


est ensurepipnécessaire à cause de cygwin? Habituellement, pipest à bord, voir ici
— Timo

@Timo, pour moi c'était, pour une raison quelconque, il me manquait pip3 pour python3
— Lepidopteron

Tant que vous avez pipinstallé, vous pouvez toujours créer un lien symbolique /usr/bin/, mais il est peut-être plus élégant d'utiliser le correctif local ensurepip . IDK si j'avais déjà une ancienne version ou si elle était installée avec setuptools, mais je n'ai pas ensurepipinstallé le package.
— not2qubit

2
+1 pour avoir recommandé le fork d'apt-cyg de kou1okada, c'est de loin le plus complet et le mieux entretenu, qui l'utilise depuis des années.
— Prometheus

2

Sous Windows, vous pouvez utiliser pip pour installer des packages. Si vous avez plusieurs installations python sous cygwin, indiquez le chemin complet de python, par exemple Python 2

/usr/bin/python2.7 -m pip install pyyaml

Python 3

/usr/bin/python3.6 -m pip install pyyaml

Si vous n'avez pas installé pip, installez-le en utilisant la commande ci-dessous

/usr/bin/python2.7 -m ensurepip 

ou

/usr/bin/python3.6 -m ensurepip

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.