我有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
试过
我真的不知道在哪里运行已接受的答案命令。第二个答案,有30票,我试过。它说“cp:'/ usr / bin / python2.7'和'/ usr / bin / python'是同一个文件”。有人请帮帮我吗?
这是一个新的ubuntu操作系统。甚至没有升级。
答案 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,那么混乱可能会更大(并且可能存在安装问题)。