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?

David Y. Stephenson
la source
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.

Moovon
la source
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 .

mata
la source
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
29

Je pense que les instructions d'installation alternatives liées par mata sont les plus simples:

Pour installer pip, téléchargez en toute sécurité get-pip.py .

Ensuite, exécutez ce qui suit (qui peut nécessiter un accès administrateur):

python get-pip.py
svick
la source
2
fwiw, cela semble ne rien faire silencieusement sous cygwin - je ne sais pas pourquoi :(
Anthony Sottile
2
Fonctionne sous Babun, sur Windows 10 x64
xizdaqrian
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.

not2qubit
la source
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
Nitin_k29
la source
0

Je viens d'apprendre, inspiré de https://www.scivision.co/install-pip-in-cygwin/ et de la réponse précédente, qu'au lieu d'utiliser pip, il suffit d'utiliser pip2 pour python2 ou pip3 pour python 3 dans cygwin sur les fenêtres. Je me suis demandé à ce sujet toute la journée ...

DanielW
la source