문제

Ubuntu 9.10 Linux 상자에서 다시 시작한 후 Mercurial (HG)을 시작하려고 할 때 다음 메시지를 받았습니다.

      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)

신비하게 다른 Python 프로그램은 Django-Admin, BZR을 포함한 모듈을 찾지 못하지만 놀랍게도 Python 통역사 자체가 시작됩니다.

여기에서 내 현재 sys.path를 찾을 수 있습니다.

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

이 문제를 해결하는 방법을 아는 사람이 있습니까?

나는 이것이 구체적으로 프로그래밍 질문이 없다는 것을 알고 있지만, 그것은 나를 프로그램 할 수있게되므로, 나는 당신의 이해를 간청합니다!

미리 감사드립니다.

도움이 되었습니까?

해결책

이 시도:

업데이트-파이썬 모듈 -P

(그 사실을 sudo해야 할 수도 있습니다 ...) 출처 :http://hg.opensource.lshift.net/mercurial-server/rev/32dba1a70a54

다른 팁

내가 이것을 위해 Googled 한 모든 사이트는 PYTHONPATH잘못 설정되었습니다. Mercurial에서 타격을받는 코드는 다음과 같습니다.

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)

그래서 어디에 있습니다 demandimport 당신의 기계에? 내 Windows 상자에 여기에 있습니다.

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

그리고 그것은 내 pythonpath에 mercurial을 가지고 있기 때문에 작동합니다.

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

당신의 PYTHONPATH 수은에 대한 언급이 없습니다. 추측 할 때, 나는 이것을 당신의 pythonpath에 추가 할 것입니다.

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

그리고 나는 Mercurial을 다시 설치할 것입니다 make. 그 조언은 잘 작동했습니다 여기.

편집 : 그리고 Ubuntu 9.10 상자에서 결과를 얻었습니다.

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

그리고 이것은 문제가 당신을 위해 누락된다는 것입니다. /usr/lib/pymodules/python2.6.

라이브러리 설치 경로 중 하나에 수은이 있습니다 (dist-packages 또는 site-packages)? 당신은 사용할 수 있습니다 find 그것을 찾는 도구?

작은 라이브러리를 설치하는 행운이 있었고이 컴퓨터의 Python에서 액세스 했습니까?

여러분 모두에게 노력해 주셔서 감사합니다.

감사합니다 휴드 브라운. Hughdbrown, 당신은 $ pythonpath를 정의 할 때 내가 오타를 헌신했다는 것을 깨달았습니다. 경로를 추가하는 대신/usr/lib/pymodules/Python2.6, 나는/usr/lib/pymodules/그래서 Python이 라이브러리를 가져올 수 없다고 썼다. 그러나 나는 그것을 수정했고 Mercurial과 Co.가 다시 일하는 것을 보게되어 기쁘다.

유일한 이상한 점은 왜 그것이 바뀌 었는지 ... 글쎄, 나는 지금부터 무엇을 해야하는지 알게 될 것입니다.

적성으로 영향을받는 Python 프로그램을 다시 설치하려고 시도 할 수 있습니다.

sudo aptitude reinstall mercurial
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top