2010-11-11 12 views
0

我想讓非root用戶能夠從shell運行mercurial命令。當我登錄的用戶,並鍵入「HG」,我得到這個消息:使用非root用戶訪問mercurial時出錯

abort: couldn't find mercurial libraries in [/usr/local/bin /usr/lib/python24.zip /usr/lib/python2.4 /usr/lib/python2.4/plat-linux2 /usr/lib/python2.4/lib-tk /usr/lib/python2.4/lib-dynload /usr/lib/python2.4/site-packages /usr/lib/python2.4/site-packages/Numeric /usr/lib/python2.4/site-packages/gtk-2.0] 
(check your install and PYTHONPATH) 

我沒有這個問題,因爲根本。我可以從任何目錄運行mercurial命令。

我的問題是我根本不熟悉Linux,所以我不知道我應該如何更改我的PYTHONPATH變量(如果的確如此,我正在嘗試這麼做)。我甚至不知道PYTHONPATH變量的存儲位置,以查看現在寫入的內容。

有人能告訴我哪裏PYTHONPATH(或者甚至是常規的PATH)環境變量存儲在Linux中,以及我可能採取哪些步驟來移除我在上面得到的錯誤方法?如果有幫助,我使用Putty和SSH訪問服務器。

謝謝! :)

+1

哪個Linux?您是將Mercurial作爲包裝還是手工安裝? – 2010-11-11 06:48:59

+0

CentOS,我手工安裝。 – neomech 2010-11-11 19:00:21

+0

FWIW,我遵循這些指示在這裏:http://w-i-l-t.tumblr.com/post/165104796/mercurial-install-centos-5-3 – neomech 2010-11-11 19:09:19

回答

2

PYTHONPATH只是environment variable獲取 python的內部搜索路徑。要看看是什麼在那裏,請執行下列操作在Python Shell:

>>> import sys 
>>> sys.path 

應該打印出類似這樣:

['', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/PIL', '/usr/lib64/python2.7/site-packages/gst-0.10', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib64/python2.7/site-packages/webkit-1.0', '/usr/lib64/python2.7/site-packages/wx-2.8-gtk2-unicode', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info'] 

在實踐中,我猜你的shell是慶典所以地方環境變量可以設置爲: /etc/profile,/etc/bashrc,~/.profile~/.bashrc - 前兩個是系統範圍,後一個是每個用戶。

爲進一步說明,請參閱this blog article abour bashrc and profile

編輯 爲了解決這個問題,可能是最簡單的方法是安裝通過PIP水銀(我假設你沒有在你的Linux的官方倉庫水銀分發,但通常是python-setuptools或類似的,提供easy_install是)。有關說明,請參閱this question

+0

感謝您的幫助。在迴應Mike的評論並查看你寫的內容時,我意識到我只需要在我的〜/ .bash_profile文件中創建相同的條目,這是我在安裝過程中以root身份登錄時完成的。我其實不知道〜目錄是用戶特定的...... doh! – neomech 2010-11-11 19:17:18

+1

在CentOS上 - 我總是安裝EPEL存儲庫並通過「yum」從那裏安裝mercurial。見http://www.cyberciti.biz/faq/rhel-fedora-centos-linux-enable-epel-repo/ – Kimvais 2010-11-12 05:52:35

相關問題