2016-08-03 67 views
6

我在以前运行Python 2.6的SLES 11框上安装了Python 2.7。为此,我使用了一个脚本described in this post并以root用户身份运行它。一切都很顺利,但是当它做我发现几个问题:在SLES 11上为所有用户安装Python 2.7

  1. 没有符号链接创建和没有更新的道路,所以我不得不手动更新的路径链接到新安装的bin目录/opt/python2.7/bin
  2. ,一切都会运行直到我从root用户切换到普通用户,此时Python shell运行,但我安装的一些模块(如PyYAML)缺失。再次,当我以根用户身份运行Python时,这些都是正确的
  3. 作为一个普通用户,我无法运行pip,easy_install和wheel。对于点我得到ImportError: No module named pkg_resources

P.S.继@user建议我尝试添加以root用户的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 

回答

1

可信/官方消息:没有从official forum答复。除了你提到的SO-link之外,还有https://unix.stackexchange.com/questions/7644/how-to-do-a-binary-install-of-python-2-7-on-suse-linux-enterprise-server-11,它描绘了在Installing Python 2.7 on SLES 11(SO不是官方的,是吗?可能由sys.path中缺少的元素引起。

为了测试这一点,类型

import sys; sys.path 

无论是在用户和根Python和检查的差异。这些需要合并。首先尝试使用PYTHONPATH来测试,但请注意there are different methods how to adjust sys.path

如果您只需要为普通(非守护进程)用户修复此问题,则调整系统范围的bash配置文件将是一个简单的解决方案。

(有任何疑问/反馈是欢迎... :-)

+0

事实上,所有“鸡蛋”从常规用户sys.path中缺少。谢谢你的回复我担心这个赏金会无人认领:) – Bostone

+0

@Bostone:曾经发生过我的一次赏金,这是一种令人失望的感觉:)。它是否足够帮助你,还是需要进一步的帮助? –

+0

我正在确定这个过程;) – Bostone