Python导入modulr _io错误

时间:2015-06-17 17:26:12

标签: python ubuntu cloudera-manager

我有3个python版本。 python2.7 python3 python3.4

我没有任何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操作系统。甚至没有升级。

1 个答案:

答案 0 :(得分:0)

如果打开终端窗口,可以通过两种方式调用python:

python

在这种情况下,它将调用python 2.7。或者:

python3

在这种情况下,我怀疑它会调用python 3.4。您通常不能同时运行两个不同的python3版本。 (我建议删除其中一个)。

另一方面,如果你安装了一个模块,它将只安装在一个Pythons中(可能取决于你使用的工具)。因此,如果在python 2中安装_io,python3将无法访问它。有些模块可能甚至不适用于两种Python风格。

你可以轻松尝试这一点。尝试在每个Pythons中导入模块:

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

$ python3
>>> import io

现在,io是一个系统模块,因此应该可用。如果不是,那么Python3中可能会发现它必须找到模块的位置(可能是由你的两个版本的Python3引起的)。

现在,我对Cloudera并不熟悉。如果Cloudera在虚拟环境中运行Python,那么混乱可能会更大(并且可能存在安装问题)。