2009-08-11 69 views
1
Could not find platform dependent libraries <exec_prefix> 
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] 
Python 2.5.2 (r252:60911, Aug 8 2009, 17:18:03) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import re 
>>> import operator 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named operator 
+0

你有任何PYTHON *環境變量設置(做「env | grep PYTHON」)嗎?如果是這樣,請嘗試取消設置。 – 2009-08-11 17:49:21

+0

我檢查了沒有設置的環境,它的CentOS 5.3 – shahjapan 2009-08-11 18:07:26

+0

sys.path(「import sys; sys.path」)的值是什麼? – 2009-08-11 18:30:35

回答

1

模塊operator應來自文件operator.so,想必在/usr/local/lib/lib-dynload你的情況,因爲這似乎是在那裏你安裝的東西。那麼.so文件在那個目錄中?

假設operator.so確實缺失(例如,假設它不是某些目錄或文件上的錯誤權限的簡單情況),「重新獲得它」的最佳方式無疑是,如已經建議的註釋,重新安裝Python 2.5(假設你需要該版本,例如與app引擎一起工作)來自python.org的官方Python軟件包或官方的CentOS 5.3(如果存在的話 - 我相信CentOS 5.3使用Python 2.4作爲官方的/ usr/bin/python,但可能有RPM將2.5放在其他地方)。

+0

是的我已經嘗試安裝python2.5窗體python.org它已經成功安裝,並且在python2.4中使用lib-dynload for python2.5 FILE(built-in) – shahjapan 2009-08-12 05:26:15

0

重申我之前在評論中所說的:re是一個純Python模塊。你應該在/usr/local/lib/python25{,.zip}看到它。運算符是一個C模塊;它應該在/usr/local/lib/lib-dynload。如果沒有,你的安裝是錯誤的,是的,你應該重新安裝。

1

我重命名了/ usr/local/bin/python文件,錯誤消失了。 我懷疑這是一個老版本的python,因爲我在同一個目錄下有一個python2.7文件。

相關問題