我试图让非root用户能够从shell运行mercurial命令。当我以用户身份登录并输入“hg”时,我收到此消息:
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)
我没有root这个问题。我可以从任何目录运行mercurial命令。
我的问题是我根本不熟悉Linux,所以我不知道我应该如何更改我的PYTHONPATH变量(如果确实这就是我想要做的)。我甚至不知道存储PYTHONPATH变量的位置,看看现在写的是什么。
有人可以告诉我PYTHONPATH(甚至常规PATH)环境变量存储在Linux中的位置,以及我可能采取哪些步骤来删除我上面提到的错误方法?如果它有帮助,我使用Putty和SSH来访问服务器。
谢谢! :)
答案 0 :(得分: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是 bash 所以可以设置环境变量的地方是:
/etc/profile
,/etc/bashrc
,~/.profile
和~/.bashrc
- 前2个是系统范围,后者是每个用户。
有关详细说明,请参阅this blog article abour bashrc and profile
修改强>
要解决这个问题,可能最简单的方法是通过pip安装Mercurial(我假设您的Linux发行版的官方存储库中没有Mercurial,但通常是python-setuptools
或类似的,提供{{1}是)。有关说明,请参阅this question。