非root用户在centos上的python2.7
Posted
技术标签:
【中文标题】非root用户在centos上的python2.7【英文标题】:python2.7 on centos for non root user 【发布时间】:2014-07-11 02:48:06 【问题描述】:我使用 make altinstall 在 Centos 6.5 上安装了 Python2.7.6。如果我使用 root 执行python2.7 -V
,我会得到正确答案。
当我使用另一个具有 sudoers 权限的用户时,我也看到一切正常。
当我切换到另一个没有 sudoers 的用户时,我会得到 bash: python2.7: command not found
。当我切换回 root 或我的其他用户(在使用非 sudoer 用户之后)时,突然我也找不到 Python2.7。
如何让 python 工作?
【问题讨论】:
"当我使用另一个具有 sudoers 权限的用户时,我也看到一切正常。" - 您是否使用 sudo 运行它?如果您尝试在单个帐户上添加和删除 sudo 权限并在有和没有 sudo 权限的情况下运行命令,会发生什么情况? 我没有使用 sudo 运行 python。只访问python不起作用(python2.7 -V) @Meir 如果是这样,那么您只需将python2.7
添加到用户的PATH
变量中。
你能帮帮我吗?
【参考方案1】:
从 cmets 更新:
请在用户的路径变量$PATH
中添加路径python2.7
~/.bashrc or ~/.profile
或
为所有用户添加到/etc/profile
您可以通过查找export PATH=$PATH:/path/to/binary1:/path/to/binary2
之类的行来做到这一点
只需在此行末尾放置 : 后添加到 python2.7
的绝对路径。
并在您使用的终端上获取文件python2.7
。
对于后续登录它会起作用,但如果您已添加到 /etc/profile 文件中,那么您必须每次都获取它或在更改文件后重新启动机器一次。
问题其他部分的答案取决于您如何回到root
。
通过移动回到root
sudo su -
或者如果你不需要sudo
那么
su -
Difference between su
and su -
【讨论】:
我需要将我的用户添加到 root 组吗?真正的问题是通过我的新用户访问 python2.7... 您在根主文件夹中有make install python2.7
吗?并且二进制文件位于根特定路径中的某个位置,而不是像/bin/python2.7
或/usr/bin/python2.7
这样的普通系统路径????如果是,并且您不想将用户添加到 sudo 列表,那么答案的 SGID 部分成立,否则它不会
python2.7 安装在 /usr/local。是这个问题吗?如果是,我该如何更改?
我猜你不必在这种情况下,你有没有将python2.7添加到用户的PATH
变量中?
我可能没有。我该怎么做?【参考方案2】:
这是一个简单的PATH
问题。
修改 /etc/profile
并添加如下内容:
export PATH="/path/to/python:$PATH"
通常在我维护的许多 CentOS 系统上,我会安装自定义 Python
把/usr/local/` so my
PATH``修改成:
export PATH="/usr/local/bin:$PATH"
注意:这应该适用于所有情况,只要您获得了PATH
的权利,无论您使用哪个用户登录或使用 sudo。
【讨论】:
以上是关于非root用户在centos上的python2.7的主要内容,如果未能解决你的问题,请参考以下文章
centos7 安装python2.7.14 并与原版本共存
Centos7.4系统Python2.7升级Python3.6(编译安装)