Pregunta

Cuando se trata de poner en marcha Mercurial (hg) después de un reinicio en mi Ubuntu 9.10 Linux Box llegué siguiente mensaje:

      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)

Misteriosamente otros programas Python no encuentran sus módulos, incluyendo django-admin, bzr, pero es sorprendente que el intérprete de Python en sí está lanzando.

Aquí puede encontrar mi sys.path actual:

  ['', '/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']

¿Alguien sabe cómo resolver este problema?

Sé que esto no es una cuestión de programación en concreto, pero me desautoriza al programa, por lo que pido su comprensión!

Gracias de antemano.

¿Fue útil?

Solución

Prueba esto:

update-python-módulos -p

(podría necesitar que sudo ...) Fuente: http://hg.opensource.lshift.net/mercurial-server/rev/32dba1a70a54

Otros consejos

Todos los sitios Googled para este dicen que sus PYTHONPATHis conjunto equivocado. El código que usted está golpeando en mercurial parece ser la siguiente:

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)

Entonces, ¿dónde está demandimport en su máquina? En mi caja de ventanas, es aquí:

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

Y eso funciona porque tengo mercurial en mi 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

Su PYTHONPATH no hace mención de mercurio. En una conjetura, me gustaría añadir esto a su PYTHONPATH:

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

y me gustaría volver a instalar mercurial de make. Ese consejo funcionó bien aquí .

Edit: Y en mi caja de Ubuntu 9.10, tengo estos resultados:

>>> 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

Y esto me hace pensar que el problema es que este no se encuentra para usted:. /usr/lib/pymodules/python2.6

Se mercurial ubicado en una de las rutas de instalación de la biblioteca (o dist-packages site-packages)? Puede utilizar la herramienta find a buscarlo?

¿Ha tenido suerte instalación de bibliotecas pequeñas y acceder a ellos desde Python en esta máquina?

Gracias por el esfuerzo de todos ustedes.

He resuelto el problema gracias a hughdbrown . hughdbrown, usted ha hecho darme cuenta de que cometido un error tipográfico en la definición de hacer $ PYTHONPATH; en lugar de añadir la ruta / usr / lib / pymodules / python2.6 , escribí / usr / lib / pymodules / pitón de modo que no podía importar las bibliotecas ... Sin embargo, lo corregí y yo da gusto ver Mercurial and Co. trabajar de nuevo.

Lo único extraño es, por qué ha cambiado ... Bueno, voy a ser un conocimiento a partir de ahora lo que debe hacer.

Se podría tratar de volver a instalar los programas en Python afectadas con aptitud:

sudo aptitude reinstall mercurial
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top