非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 myPATH``修改成:

export PATH="/usr/local/bin:$PATH"

注意:这应该适用于所有情况,只要您获得了PATH 的权利,无论您使用哪个用户登录或使用 sudo。

【讨论】:

以上是关于非root用户在centos上的python2.7的主要内容,如果未能解决你的问题,请参考以下文章

centos7 安装python2.7.14 并与原版本共存

Centos7 安装python环境

Centos7.4系统Python2.7升级Python3.6(编译安装)

centos7 普通用户(非ROOT)启动tomcat需要授予哪些权限

centos7搭建python3并和python2共存

Centos6.5??????python2.7???pip