我无法从带有c扩展名的标准库中导入导入模块。这是在我从12.04升级到Ubuntu 14.04之后发生的。我已经尝试重新安装python,python-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
答案 0 :(得分:3)
来自which -a python
我们看到/usr/local/lib/python
和/usr/bin/python/
中有两次安装python 2,因此删除/usr/local/lib/python
会对问题进行排序。
答案 1 :(得分:1)
如果您在virtualenv工作,它可能在升级期间损坏。 您只需运行
即可修复它virtualenv /PATH/TO/EXISTING/ENVIRONMENT
或
virtualenv --system-site-packages /PATH/TO/EXISTING/ENVIRONMENT
答案 2 :(得分:1)
对于没有名为_ctypes的模块错误 你可以试试这个:
print (a)
0 1.0
1 1.0
2 1.0
3 1.0
4 1.0
5 2.0
6 2.0
7 2.0
8 2.0
Name: A, dtype: float64
我希望这会有所帮助。
答案 3 :(得分:0)
也许您的路径未正确设置。
试着看看:
import sys
sys.path
可能python路径不存在,然后不导入模块。
如果没有,请在列表中添加类似新元素的路径。
sys.path.append(new path)
我希望这会有所帮助
答案 4 :(得分:0)
根据您的评论,which python
返回/usr/local/lib/python
,看起来您的本地安装的Python与您的发行版的安装不同。分发包永远不会安装到Ubuntu上的/usr/local
中。将自定义安装的Python与您提供的分发库混合(如错误中的/usr/lib
路径所示)可能会导致各种问题。
我建议删除/usr/local/lib
中安装的Python(这是安装二进制文件的一个奇怪的地方),或者从PATH中删除它,以便您可以访问您的发行版安装的Python。