Python的不是升级后正确导入到14.04(Python not importing correc

2019-10-20 14:04发布

我不能从C扩展标准库中导入进口模块。 这件事发生后,我从12.04升级到Ubuntu 14.04。 我试着重新安装蟒蛇,蟒蛇-dev的,但它没有帮助。 我注意到其他人有类似的帖子,但它们都使用的virtualenv,而我没有使用这一切。

Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pickle, email, json, readline, socket, turtle
>>> import ctypes
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/ctypes/__init__.py", line 10, in <module>
    from _ctypes import Union, Structure, Array
ImportError: No module named _ctypes
>>> import io
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: No module named _io
>>> import datetime
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named datetime

Answer 1:

which -a python ,我们看到在Python 2的两个安装/usr/local/lib/python/usr/bin/python/ ,以便消除/usr/local/lib/python将排序的问题。



Answer 2:

如果你在工作的virtualenv,它可能已经升级过程中破裂。 您可以通过简单地运行修复

virtualenv /PATH/TO/EXISTING/ENVIRONMENT

要么

virtualenv --system-site-packages /PATH/TO/EXISTING/ENVIRONMENT


Answer 3:

对于无模块命名_ctypes错误,您可以试试这个:

apt-get install libffi-dev

我希望这有帮助。



Answer 4:

也许你的路径不正确设置好的。

试着看一下:

import sys
sys.path

也许蟒蛇路径不存在,然后不导入模块。

如果没有出现,像添加列表中的一个新元素的路径。

sys.path.append(new path)

我希望这有帮助



Answer 5:

基于您的评论,认为which python回报/usr/local/lib/python ,它看起来像你的Python本地安装比发行套件的安装不同。 分发包永远不会安装到/usr/local Ubuntu上。 混合自定义安装Python和分发提供的库(如/usr/lib中的错误路径指示)可导致多种问题。

我会建议删除安装在Python /usr/local/lib (这是安装二进制一个奇怪的地方),或从PATH中移除,这样您就可以访问你的发行版安装了Python来代替。



文章来源: Python not importing correctly after upgrade to 14.04