2016-08-03 36 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