web-dev-qa-db-fra.com

Pourquoi Python easy_install ne fonctionne-t-il pas sur mon Mac?

J'ai un Mac sous Python 2.6. Lorsque j'essaie d'utiliser easy_install Je reçois ce message:

/usr/bin/easy_install-2.6:7: UserWarning: Module pkg_resources was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
  from pkg_resources import load_entry_point
/usr/bin/easy_install-2.6:7: UserWarning: Module site was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
  from pkg_resources import load_entry_point
Traceback (most recent call last):
  File "/usr/bin/easy_install-2.6", line 10, in <module>
    load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 271, in load_entry_point
    return False
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 2173, in load_entry_point
    deps = []
ImportError: Entry point ('console_scripts', 'easy_install') not found

Cela me rend très perplexe et je veux savoir comment résoudre ce problème. Auparavant, je n'avais pas reçu ce message. Après l'installation de pip et sa désinstallation, easy_install ne fonctionne plus. Je me demandais comment résoudre ce problème ou restaurer le paramètre par défaut Python ou easy_install sur Mac).

59
Etan
  1. Vérifiez votre/usr/bin et/usr/local/bin pour les installations d'easy_install et supprimez tout ancien script:

    Sudo rm -f /usr/bin/easy_install*
    Sudo rm -f /usr/local/bin/easy_install*
    
  2. Télécharger et exécuter distribuer:

    curl -O https://svn.Apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py
    
    Sudo python distribute_setup.py
    Sudo rm distribute_setup.py
    
  3. Réessayez et amusez-vous. Par exemple.:

    Sudo easy_install pip
    
153
mimoralea

Je suppose que la meilleure façon de faire fonctionner easy_install Consiste à installer distribute , qui est une version améliorée de distutils qui regroupe sa propre version de easy_install. L'installation est simple:

curl -O http://python-distribute.org/distribute_setup.py
/usr/bin/python2.6 distribute_setup.py
27
zeekay

J'ai eu le même problème juste après l'installation du nouveau système d'exploitation (Lion OSX). Après avoir installé python et l'exécuter

Sudo easy_install ipython
ipython

J'ai eu l'erreur suivante:

Traceback (most recent call last):
  File "/usr/local/bin/ipython", line 8, in <module>
    load_entry_point('ipython==0.10.2', 'console_scripts', 'ipython')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 318, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2220, in load_entry_point
    raise ImportError("Entry point %r not found" % ((group,name),))
ImportError: Entry point ('console_scripts', 'ipython') not found

Ensuite, je réalise que c'était un problème de permission. Si j'exécute le script ipython en tant que Sudo, cela a fonctionné.

Sudo ipython

J'ai donc changé la propriété de la racine en utilisateur () du dossier /Library/Python/2.7/site-packages/

Sudo chown -R <your_user>:wheel /Library/Python/2.7/site-packages/

Utilisez la propriété de modification uniquement si plusieurs comptes n'utilisent pas python.

J'espère que ça marche pour vous.

Meilleur

9
Daniel Pérez Rada

Votre installation de setuptools est cassée. Le script easy_install-2.6 De votre répertoire /usr/bin Est uniquement un wrapper qui charge le module easy_install Dans votre Python installation, et celle-ci). Il est vraisemblable que désinstaller pip soit a cassé le pointeur qui le correspondait (généralement sous la forme d’un fichier .pth dans votre répertoire site-packages), ou a supprimé le package complet sans le supprimer. supprimez le script wrapper /usr/bin/easy_install-2.6.

Votre meilleur choix est de réinstaller setuptools à partir de zéro, en suivant les instructions instructions sur la page setuptools PyPI .

5
Martijn Pieters

J'ai eu le même problème, probablement dû à mon installation de Homebrew, qui installe apparemment sa propre version de easy_install à l'aveuglette et bousille tout ce que vous utilisez actuellement (suffisamment de temps pour que homebrew le reconnaisse comme un problème). J'ai trouvé ma solution ici Mise à niveau Python sur Snowleopard avec Homebrew maintenant pip et easy_install ne fonctionnent pas

Même si je suis sur Lion, mon problème a toujours été résolu. Vous venez de télécharger ez_setup.py depuis http://pypi.python.org/pypi/ez_setup - lancez ez_setup.py via un terminal et vous êtes prêt pour la course.

3
Jon Litwack

J'ai eu un message d'erreur similaire après avoir suivi des étapes similaires. J'imagine que c'est parce que j'ai essayé d'installer le module de distribution et qu'il a essayé d'installer une nouvelle version de setuptools qui ne fonctionnait pas vraiment car elle ne remplaçait pas correctement les outils de configuration fournis par Mac OS X. Mais ce n'est qu'un soupçon.

J'ai résolu mon problème en procédant comme suit. J'ai trouvé que le répertoire /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python avait 4 fichiers avec .OLD dans le nom. Lorsque j'ai comparé des fichiers portant le même nom sans le .OLD de l'époque où tout fonctionnait (via Time Machine), j'ai constaté qu'ils étaient identiques, à l'exception du nom. J'ai donc renommé les noms suivants:

setuptools.OLD.1305936263.57 -> setuptools
setuptools-0.6c9-py2.6.Egg-info.OLD.1305936263.57 -> setuptools-0.6c9-py2.6.Egg-info
pkg_resources.py.OLD.1305936263.57 -> pkg_resources
site.py.OLD.1305936263.59 -> site.py

Je devais utiliser la ligne de commande et Sudo mv parce que les fichiers appartiennent à root. Par exemple: Sudo mv setuptools.OLD.1305936263.57 setuptools. Vous devrez entrer votre mot de passe.

L'autre chose que j'ai faite a été de nettoyer le /Library/Python/2.6/site-packages répertoire. J'ai utilisé Time Machine pour le remettre dans son état initial. Si vous n'avez pas Time Machine, vous devriez pouvoir le récupérer si vous supprimez des fichiers ou des dossiers commençant par: distribuer, facile à installer, pip, pkg_resources, setuptools et site.

Si cela ne résout pas le problème, désinstallez tous les modules de ce répertoire. Par exemple, utilisez pip uninstall _ si vous avez installé des modules avec pip. La raison en est que l’installation peut copier des fichiers dans usr/local/bin et d’autres endroits que pip enlèveront pour vous.

Ensuite, il est temps de supprimer tous les modules restants. Renommez le dossier (au cas où vous souhaiteriez quelque chose ultérieurement) et créez-en un nouveau.

Réinstallez les modules de votre choix et avec un peu de chance, vous êtes de retour dans les affaires ...

1
Stephen McDonald

La réponse de Martijn Pieter est correcte.

  1. Allez à http://pypi.python.org/pypi/setuptools#downloads
  2. Télécharger setuptools-0.6c11-py2.7.Egg
  3. Depuis votre répertoire de téléchargements, lancez: Sudo ./setuptools-0.6c11-py2.7.Egg

Terminé :-)

0
Jaik Dean