2011-08-20 2 views
5

Lorsque je tente d'utiliser pip, j'ai rencontré cette erreur:Impossible d'utiliser pip plus

Traceback (most recent call last): 
    File "/usr/local/bin/pip", line 9, in <module> 
    load_entry_point('pip==1.0.2', 'console_scripts', 'pip')() 
    File "/usr/local/lib/python2.6/dist-packages/distribute-0.6.21-py2.6.egg/pkg_resources.py", line 337, in load_entry_point 
    return get_distribution(dist).load_entry_point(group, name) 
    File "/usr/local/lib/python2.6/dist-packages/distribute-0.6.21-py2.6.egg/pkg_resources.py", line 2281, in load_entry_point 
    return ep.load() 
    File "/usr/local/lib/python2.6/dist-packages/distribute-0.6.21-py2.6.egg/pkg_resources.py", line 1996, in load 
    raise ImportError("%r has no %r attribute" % (entry,attr)) 
ImportError: <module 'pip' from '/usr/lib/pymodules/python2.6/pip/__init__.pyc'> has no 'main' attribute 

De toute évidence, je fait un changement au système qui a éclaté pip. Mais je n'ai aucune idée de quoi il s'agit. Qu'est-ce qui pourrait causer l'exception ci-dessus?

Edit:

Ce que je peux deviner que ce matin, je crated un virtualenv, installé un paquet écrit par moi-même en exécutant:

python setup.py install

dans cet environnement.

BTW, j'ai essayé de réinstaller pip en exécutant get-pip.py, ne fonctionnait pas

+1

pouvez-vous ré-installer pip avec easy_install? Je ne pense pas que quiconque puisse deviner quel "changement au système" vous auriez pu faire; vous ne voulez certainement pas changer manuellement * n'importe quoi * dans/usr/lib/pymodules. – geoffspear

+0

Je n'ai rien fait manuellement dans les pymodules. – ablmf

Répondre

8

Je note que installé dans distribuent /usr/local mais pip est en /usr/lib, donc je suppose que vous avez une version plus ancienne du système installé pip qui est en quelque sorte en train de remplacer ce que vous êtes easy_install ed ou pip ed. Je commencerais à regarder là-bas.

+0

Ouais, j'ai un système pip complet, mais ce matin, je l'ai également installé dans virtualenv car je pensais que cela n'avait pas d'importance. Alors, comment puis-je me débarrasser de celui de/usr/local? Juste le supprimer? – ablmf

+1

Merci, j'ai supprimé l'installation dans/usr/local, tout va bien maintenant. – ablmf

3

Réinstallez en utilisant easy_install. Fermez le terminal et rouvrez-le. Pip devrait maintenant travailler.