Question

Lorsque vous essayez de lancer Mercurial (hg) après un redémarrage dans mon Ubuntu 9.10 Linux Box Je suis le message suivant:

      abort: couldn't find mercurial libraries in [/usr/bin /usr/local/lib/python2.6/dist-packages/vipy-0.4-py2.6.egg /usr/local/lib/python2.6/dist-packages/nose-0.11.1-py2.6.egg /usr/local/lib/python2.6/dist-packages/rope-0.9.2-py2.6.egg /usr/local/lib/python2.6/dist-packages/Sphinx-0.6.3-py2.6.egg /usr/local/lib/python2.6/dist-packages/django_html-0.0.1-py2.6.egg /usr/local/lib/python2.6/dist-packages/html5lib-0.11.1-py2.6.egg /home/kenny /home/kenny/Projects/soclone-read-only /home/kenny/python/Django /home/kenny/python/pysmell /home/kenny/python/Django/ropemode /home/kenny/python/Django/rope /home/kenny/python/lib /usr/lib/python2.6 /usr/lib/python2.6/plat-linux2 /usr/lib/python2.6/lib-tk /usr/lib/python2.6/lib-old /usr/lib/python2.6/lib-dynload /usr/local/lib/python2.6/dist-packages]

      (check your install and PYTHONPATH)

Mystérieusement autres programmes Python ne trouvent pas leurs modules, y compris django-admin, bzr, mais étonnamment l'interpréteur Python lance.

vous pouvez trouver ici mon sys.path actuelle:

  ['', '/usr/local/lib/python2.6/dist-packages/vipy-0.4-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/nose-0.11.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/rope-0.9.2-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Sphinx-0.6.3-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/django_html-0.0.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/html5lib-0.11.1-py2.6.egg', '/home/kenny', '/home/kenny/Projects/soclone-read-only', '/home/kenny/python/Django', '/home/kenny/python/pysmell', '/home/kenny/python/Django/ropemode', '/home/kenny/python/Django/rope', '/home/kenny/python/lib', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-packages']

Quelqu'un sait comment résoudre ce problème?

Je sais que ce n'est pas question de programmation spécifique, mais il me autorise pas à programmer, je vous demande votre compréhension!

Merci d'avance.

Était-ce utile?

La solution

Essayez ceci:

mise à jour des modules de python--p

(peut-être besoin de ça ... sudo) La source: http://hg.opensource.lshift.net/mercurial-server/rev/32dba1a70a54

Autres conseils

Tous les sites que j'ai googlé pour cela dire que votre PYTHONPATHis mal réglé. Le code que vous frappez dans Mercurial semble être ceci:

try:
    from mercurial import demandimport; demandimport.enable()
except ImportError:
    import sys
    sys.stderr.write("abort: couldn't find mercurial libraries in [%s]\n" %
                     ' '.join(sys.path))
    sys.stderr.write("(check your install and PYTHONPATH)\n")
    sys.exit(-1)

Alors, où est demandimport sur votre machine? Sur ma boîte de fenêtres, il est ici:

>>> from mercurial import demandimport
>>> demandimport.__file__
'C:\\Python26\\lib\\site-packages\\mercurial-1.4.1-py2.6-win32.egg\\mercurial\\demandimport.pyc'

Et ça fonctionne parce que j'ai mercurial dans mon PYTHONPATH:

>>> import sys
>>> for s in sys.path:
...     print s
...
# Other crud deleted...
C:\Python26\lib\site-packages\mercurial-1.4.1-py2.6-win32.egg
C:\Windows\system32\python26.zip
C:\Python26\DLLs
C:\Python26\lib
C:\Python26\lib\plat-win
C:\Python26\lib\lib-tk
C:\Python26
C:\Python26\lib\site-packages

Votre PYTHONPATH ne fait aucune mention de Mercurial. A une supposition, je voudrais ajouter ceci à votre PYTHONPATH:

/usr/local/lib/python2.6/site-packages

et je réinstaller Mercurial de make. Ce conseil a bien fonctionné .

Edit: Et sur ma boîte Ubuntu 9.10, je suis arrivé à ces résultats:

>>> import mercurial
>>> mercurial.__file__
'/usr/lib/pymodules/python2.6/mercurial/__init__.pyc'
>>> import sys
>>> for s in sys.path:
...     print s
...

/usr/local/lib/python2.6/dist-packages/pip-0.6.1-py2.6.egg
/usr/local/lib/python2.6/dist-packages/virtualenv-1.4.3-py2.6.egg
/usr/lib/python2.6
/usr/lib/python2.6/plat-linux2
/usr/lib/python2.6/lib-tk
/usr/lib/python2.6/lib-old
/usr/lib/python2.6/lib-dynload
/usr/lib/python2.6/dist-packages
/usr/lib/python2.6/dist-packages/PIL
/usr/lib/python2.6/dist-packages/gst-0.10
/usr/lib/pymodules/python2.6
/usr/lib/python2.6/dist-packages/gtk-2.0
/usr/lib/pymodules/python2.6/gtk-2.0
/usr/local/lib/python2.6/dist-packages
/usr/local/lib/python2.6/dist-packages/PIL

Et cela me fait penser que le problème est que ce manque pour vous. /usr/lib/pymodules/python2.6

est Mercurial situé dans l'un des chemins d'installation de la bibliothèque (ou de dist-packages site-packages)? Vous pouvez utiliser l'outil de find pour chercher?

Avez-vous eu la chance d'installer de petites bibliothèques et d'y accéder à partir de Python sur cette machine?

Merci pour l'effort à tous.

Je l'ai résolu le problème grâce à hughdbrown . hughdbrown, vous avez fait me rendre compte que je commis une faute de frappe lors de la définition faisant PYTHONPATH $; au lieu d'ajouter le chemin / usr / lib / pymodules / python2.6 , je l'ai écrit / usr / lib / pymodules / et Python ne peut pas importer les bibliothèques ... Cependant, je l'ai corrigé et je suis heureux de voir Mercurial et Co. fonctionnent à nouveau.

La seule chose étrange est, pourquoi il a changé ... Eh bien, je vais maintenant savoir d'quoi faire.

Vous pouvez essayer de réinstaller les programmes Python concernés avec aptitude:

sudo aptitude reinstall mercurial
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top