web-dev-qa-db-fra.com

Comment utiliser "easy_install" de Python sous Windows ... ce n'est pas si facile

Après avoir installé Python 2.7 sur Windows XP, définissez manuellement %PATH% sur python.exe (pourquoi le programme d’installation Python ne le fait-il pas?), Puis installez setuptools 0.6c11 (pourquoi ne le fait-il pas?), Puis définissez manuellement le %PATH% sur easy_install.exe (pourquoi l'installateur ne le fait-il pas?), j'ai finalement essayé d'installer un paquet python avec easy_install, mais easy_install a échoué lorsqu'il n'a pas pu installer le paquet pywin32, qui est une dépendance. Comment puis-je faire fonctionner easy_install correctement sous Windows XP? L'échec suit:

C: \> easy_install winpexpect 
 Recherche de winpexpect
Meilleure correspondance: winpexpect 1.4 
 Traitement de winpexpect-1.4-py2.7.Egg 
 Winpexpect 1.4 est déjà la version active de easy-install.pth

 Utilisation de c:\python27\lib\site-packages\winpexpect-1.4-py2.7.Egg 
 Dépendances de traitement pour winpexpect 
 Recherche de pywin32> = 214 
 Lecture http: // pypi.python.org/simple/pywin32/
Reading http://sf.net/projects/pywin32
Reading http://sourceforge.net/project/showfiles.php?group_id=78018
No paquets locaux ou liens de téléchargement trouvés pour pywin32> = 214 
 Meilleure correspondance: Aucune 
 Traceback (appel le plus récent en dernier): 
 Fichier "C:\python27\scripts\easy_install-script.py", ligne 8, dans 
 load_entry_point ('setuptools == 0.6c11', 'console_scripts', 'easy_install') () 
 Fichier "C:\python27\lib\site-packages\setuptools\command\easy_install.py", ligne 1712, dans le fichier principal 
 with_ei_usage (lambda: 
 Fichier "C:\python27\lib\site-packages\setuptools\command\easy_install.py", ligne 1700, dans with_ei_usage 
 return f () 
 Fichier "C:\python27\lib\site-packages\setuptools\command\easy_install.py ", ligne 1716, dans 
 distclass = DistributionWithoutHelpCommands, ** kw 
 Fichier" C:\python27\lib\distutils\core.py ", ligne 152, dans setup 
 Dist.run_commands () 
 Fichier "C:\python27\lib\distutils\dist.py", ligne 953, dans run_commands 
 Self.run_command (cmd) .__ "Fichier" C:\python27\lib\distutils\dist.py ", ligne 972, dans run_command 
 Cmd_obj.run () 
 Fichier" C:\python27\lib\site-packages\setuptools\command\easy_install.py ", ligne 211, dans l'exécution 
 self.easy_install (spec, pas self.no_deps) 
 Fichier" C:\python27\lib\site-packages\setuptools\command\easy_install.py ", ligne 446, dans easy_install 
 return self.install_item (spéc., dist.location, tmpdir, deps) 
 Fichier "C:\python27\lib\site-packages\setuptools\command\easy_install.py", ligne 481, dans install_item 
 self.process_distribution (spec, dists [0], deps, "Using") 
 Fichier "C:\python27\lib\site-packages\setuptools\command\easy_install.py", ligne 519, dans processus_distribution 
 [exigence], self.local_index, self.easy_install 
 Fichier "C:\python27\lib\site-packages\pkg_resources.py", ligne 563, à résoudre 
 dist = best [req.key] = env.best_match (req, self, installateur) 
 Fichier "C:\python27\lib\site-packages\pkg_resources.py", ligne 799, dans best_match 
 retourne self.obtain (req, installer) # essayez et téléchargez/installez 
 Fichier "C:\python27\lib\site-packages\pkg_resources.py", ligne 811, dans obtenir 
 renvoyer l'installateur (exigence) 
 Fichier "C:\python27\lib\site-packages\setuptools\command\easy_install.py", ligne 434, dans easy_install 
 self.local_index 
 Fichier "C:\python27\lib\site-packages\setuptools\package_index.py", ligne 475, dans fetch_distribution 
 return dist.clone (location = self.download (dist.location, tmpdir)) 
 AttributeError: l'objet 'NoneType' n'a pas d'attribut 'clone' 
61
Nick

Un problème est que easy_install est configuré pour télécharger et installer des fichiers .Egg ou des distributions sources (contenus dans les fichiers .tgz, .tar, .tar.gz, .tar.bz2 ou .Zip). Il ne sait pas comment traiter les extensions PyWin32 car elles sont placées dans un exécutable d'installation séparé . Vous devrez télécharger le fichier d’installation PyWin32 approprié (pour Python 2.7) et l’exécuter vous-même. Lorsque vous exécutez à nouveau easy_install (à condition que le logiciel soit correctement installé, comme dans les instructions de Sergio), vous devriez voir que votre paquet winpexpect a été installé correctement.

Puisque nous parlons de Windows et d’open source, il peut souvent s'agir d’une combinaison désordonnée de méthodes d’installation pour que tout fonctionne correctement. Cependant, easy_install est toujours préférable à l'édition manuelle des fichiers de configuration.

9
Brandon

Si vous utilisez la version Windows 7 64 bits, la solution se trouve ici: http://pypi.python.org/pypi/setuptools

à savoir, vous devez télécharger un script python, l'exécuter, puis easy_install fonctionnera normalement à partir de la ligne de commande. 

P.S. Je suis d'accord avec l'affiche originale qui dit que cela devrait fonctionner dès la sortie de la boîte. 

23
Gabriel

Je suis également d'accord avec le PO pour dire que toutes ces choses devraient venir avec Python déjà défini. Je suppose que nous devrons nous en occuper jusqu'à ce que ce jour vienne. Voici une solution qui a réellement fonctionné pour moi:

installer easy_install plus rapidement et plus facilement

J'espère que cela vous aide ou aide quelqu'un avec le même problème!

9
Eenvincible

Copiez le script ci-dessous "ez_setup.py" à partir de l'URL ci-dessous.

https://bootstrap.pypa.io/ez_setup.py

Et copiez-le dans votre emplacement Python

C:\Python27>

Lancer la commande

C:\Python27? python ez_setup.py

Cela installera easy_install sous le répertoire Scripts

C:\Python27\Scripts

Exécutez easy install à partir du répertoire Scripts>

C:\Python27\Scripts> easy_install 

6
kadi99

D'une part, il indique que ce module est déjà installé. Si vous avez besoin de le mettre à jour, vous devriez faire quelque chose comme ça:

easy_install -U nom_package

Bien entendu, easy_install ne fonctionne pas très bien si le paquet contient des en-têtes C qui doivent être compilés et que vous n'avez pas la bonne version de Visual Studio installée. Vous pouvez essayer d’utiliser pip ou distribution au lieu de easy_install et de voir s’ils fonctionnent mieux.

1
Mike Driscoll

Si vous utilisez la distribution Python de Anaconda ,

vous pouvez l'installer via pip

pip install setuptools

puis exécutez-le en tant que module

python -m easy_install

0
Danilo Gasques