2015-06-17 53 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

是的,这只是一个安装问题, –