2015-06-17 57 views
0

我有3個python版本。 python2.7 python3 python3.4Python import modulr _io error

我沒有任何Python經驗。我以前沒有用過它。該錯誤作爲cluster setup via cloudera manager的一部分存在。

錯誤

.......... 
>> import mimetools 
    >> File "/usr/lib/python2.7/mimetools.py", line 6, in <module> 
>> import tempfile 
>> File "/usr/lib/python2.7/tempfile.py", line 32, in <module> 
>> import io as _io 
>> File "/usr/lib/python2.7/io.py", line 51, in <module> 
>> import _io 
>>ImportError: No module named _io 
>>Traceback (most recent call last): 
>> File "/usr/lib/cmf/agent/src/cmf/agent.py", line 8, in <module> 
>> import avro.ipc 
>> File "/usr/lib/cmf/agent/build/env/lib/python2.7/site-packages/avro-1.6.3-py2.7.egg/avro/ipc.py", line 19, in <module> 
>> import httplib 
>> File "/usr/lib/python2.7/httplib.py", line 79, in <module> 
>> import mimetools 
>> File "/usr/lib/python2.7/mimetools.py", line 6, in <module> 
>> import tempfile 
>> File "/usr/lib/python2.7/tempfile.py", line 32, in <module> 
>> import io as _io 
>> File "/usr/lib/python2.7/io.py", line 51, in <module> 
>> import _io 
>>ImportError: No module named _io 

試圖

Read this

我真的不知道跑哪裏去了公認的答案的命令。第二個答案,有30票,我試過了。它說「cp:'/usr/bin/python2.7'和'/ usr/bin/python'是同一個文件」。任何人都請幫助我?

這是一個新的Ubuntu操作系統。甚至沒有升級。

回答

0

如果你打開一個終端窗口,你可以調用Python兩種方式:

在這種情況下
python 

它會調用Python 2.7。或者:

python3 

在這種情況下,我懷疑它會調用python 3.4。您通常不能同時運行兩個不同的python3版本。 (我建議刪除其中的一個)。另一方面,如果你安裝了一個模塊,它將只安裝在一個Pythons中(可能取決於你使用的是哪一種工具)。所以,如果你在python 2中安裝_io,它將不能被python3訪問。有些模塊甚至可能不適用於這兩種Python風格。

您可以輕鬆地嘗試一下。嘗試導入模塊的每個蟒蛇:

$ python 
>>> import io 
??? 
>>> Ctl^D 

$ python3 
>>> import io 

現在,io是一個系統模塊,所以它應該可用。如果不是這樣,那麼Python3中可能會出現模糊的地方(可能是由您的兩個版本的Python3引起的)。

現在,我不熟悉Cloudera。如果Cloudera在虛擬環境中運行Python,那麼混淆可能會更大(並且可能存在安裝問題)。

+0

是的,這只是一個安裝問題, –