無法正確安裝 mercurial - PYTHONPATH 錯誤
我有一台在 Ubuntu 10.04 上執行的伺服器,我想通過它安裝 Mercurial
% sudo apt-get install mercurial
它似乎已成功安裝並且沒有顯示任何錯誤消息。但是當我嘗試它時,我得到:
% hg abort: couldn't find mercurial libraries in [/usr/bin /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/pymodules/python2.6 /usr/local/lib/python2.6/dist-packages] (check your install and PYTHONPATH)
我已經用Google搜尋了一段時間,發現一些網站有同樣的問題,但我仍然不知道如何修復它,因為它沒有真正說明我需要尋找什麼或我需要添加到我的 PYTHONPATH 什麼……
順便說一句,現在我的 PYTHONPATH 似乎是空的:
% echo $PYTHONPATH %
如果我在 /usr/lib/ 目錄中查找 mercurial,這就是我得到的:
% find /usr/lib/py* -name 'mercurial*' /usr/lib/pymodules/python2.6/mercurial /usr/lib/pymodules/python2.6/mercurial-1.4.3.egg-info /usr/lib/pyshared/python2.6/mercurial
有人可以幫我嗎?我應該將 PYTHONPATH 設置為什麼(以及如何設置)?我已經嘗試過重新安裝,使用“easy_install mercurial”或“aptitude reinstall mercurial”安裝,但沒有任何幫助。我總是遇到同樣的錯誤。
如果有人可以提供幫助,那就太好了…謝謝!
添加:
從頭開始建構效果不佳……當我以 root 身份登錄時,我可以使用 hg,但是當我使用普通使用者訪問時,我得到:
% hg Traceback (most recent call last): File "/usr/local/bin/hg", line 4, in <module> import pkg_resources File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2659, in <module> parse_requirements(__requires__), Environment() File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 546, in resolve raise DistributionNotFound(req) pkg_resources.DistributionNotFound: mercurial==1.7.2
我不確定確切的原因,但我通過從原始碼安裝 Mercurial 解決了類似的問題(不過,您可能想先刪除任何 Mercurial 包)。
在此處下載 Mercurial tarball並解壓縮:
tar tvf mercurial-1.7.5.tar.gz cd mercurial-1.7.5 python setup.py install
……應該這樣做。如果您安裝了多個版本的 python(2.5、2.6、2.7),請使用最新版本。
當我將系統 Python 優先於使用 Homebrew 安裝的 python 版本時,在 OS X 中發生了類似的事情。我應該將 Homebrew 版本添加到 PATH 而不是添加它。更多資訊請訪問https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python。
所以在
.bash_profile
或類似的rc文件中,我改變了順序PATH=/usr/local/share/python:"${PATH}" PATH=/usr/local/bin:"${PATH}"
到
PATH=/usr/local/bin:"${PATH}" PATH=/usr/local/share/python:"${PATH}"
然後 Mercurial 停止拋出該錯誤。