为 SLES 11 上的所有用户安装 Python 2.7
Installing Python 2.7 for all users on SLES 11
我在之前 运行ning Python 2.6 的 SLES 11 机器上安装了 Python 2.7。为此,我以 root 用户身份使用脚本 described in this post 和 运行。一切顺利,但完成后我发现了一些问题:
- 没有创建符号 link,也没有更新路径,所以我不得不手动将 link 的路径更新到新的安装 bin 目录
/opt/python2.7/bin
- 一切都很好 运行s 直到我从 root 切换到普通用户,此时 Python shell 运行s 但我安装的一些模块,如 PyYAML 是丢失的。同样,当我 运行 Python 作为 root
时,这些都可以
- 作为普通用户,我无法 运行 pip、easy_install 和 wheel。对于 pip 我得到
ImportError: No module named pkg_resources
P.S。按照@user的建议,我尝试将以下路径从根用户的sys.path
添加到.bashrc
,但没有解决问题
export PYTHONPATH=$PYTHONPATH:/opt/python2.7/lib/python27.zip:/opt/python2.7/lib/python2.7:/opt/python2.7/lib/python2.7/plat-linux2:/opt/python2.7/lib/python2.7/lib-tk:/opt/python2.7/lib/python2.7/lib-old:/opt/python2.7/lib/python2.7/lib-dynload:/opt/python2.7/lib/python2.7/site-packages:/opt/python2.7/lib/python2.7/site-packages/PyYAML-3.11-py2.7-linux-x86_64.egg:/opt/python2.7/lib/python2.7/site-packages/pexpect-4.2.0-py2.7.egg:/opt/python2.7/lib/python2.7/site-packages/ptyprocess-0.5.1-py2.7.egg
可信/官方消息来源:official forum. Apart from the SO-link you mentioned, there is also https://unix.stackexchange.com/questions/7644/how-to-do-a-binary-install-of-python-2-7-on-suse-linux-enterprise-server-11, which sketches the way to do it described in Installing Python 2.7 on SLES 11 没有回复(所以不是官方的,是吗?;-)
关于您的问题:2.和3.都可能是sys.path
.
中缺少元素引起的
要对此进行测试,请键入
import sys; sys.path
在用户和 root 中都如此 python 并检查差异。这些需要合并。尝试使用 PYTHONPATH
first to test this, but be aware that there are different methods how to adjust sys.path
.
如果您只需要为普通(非守护进程)用户修复此问题,调整系统范围的 bash 配置文件将是一个简单的解决方案。
(欢迎任何 questions/feedback...:-)
我在之前 运行ning Python 2.6 的 SLES 11 机器上安装了 Python 2.7。为此,我以 root 用户身份使用脚本 described in this post 和 运行。一切顺利,但完成后我发现了一些问题:
- 没有创建符号 link,也没有更新路径,所以我不得不手动将 link 的路径更新到新的安装 bin 目录
/opt/python2.7/bin
- 一切都很好 运行s 直到我从 root 切换到普通用户,此时 Python shell 运行s 但我安装的一些模块,如 PyYAML 是丢失的。同样,当我 运行 Python 作为 root 时,这些都可以
- 作为普通用户,我无法 运行 pip、easy_install 和 wheel。对于 pip 我得到
ImportError: No module named pkg_resources
P.S。按照@user的建议,我尝试将以下路径从根用户的sys.path
添加到.bashrc
,但没有解决问题
export PYTHONPATH=$PYTHONPATH:/opt/python2.7/lib/python27.zip:/opt/python2.7/lib/python2.7:/opt/python2.7/lib/python2.7/plat-linux2:/opt/python2.7/lib/python2.7/lib-tk:/opt/python2.7/lib/python2.7/lib-old:/opt/python2.7/lib/python2.7/lib-dynload:/opt/python2.7/lib/python2.7/site-packages:/opt/python2.7/lib/python2.7/site-packages/PyYAML-3.11-py2.7-linux-x86_64.egg:/opt/python2.7/lib/python2.7/site-packages/pexpect-4.2.0-py2.7.egg:/opt/python2.7/lib/python2.7/site-packages/ptyprocess-0.5.1-py2.7.egg
可信/官方消息来源:official forum. Apart from the SO-link you mentioned, there is also https://unix.stackexchange.com/questions/7644/how-to-do-a-binary-install-of-python-2-7-on-suse-linux-enterprise-server-11, which sketches the way to do it described in Installing Python 2.7 on SLES 11 没有回复(所以不是官方的,是吗?;-)
关于您的问题:2.和3.都可能是sys.path
.
要对此进行测试,请键入
import sys; sys.path
在用户和 root 中都如此 python 并检查差异。这些需要合并。尝试使用 PYTHONPATH
first to test this, but be aware that there are different methods how to adjust sys.path
.
如果您只需要为普通(非守护进程)用户修复此问题,调整系统范围的 bash 配置文件将是一个简单的解决方案。
(欢迎任何 questions/feedback...:-)