[英]Python not importing correctly after upgrade to 14.04
我無法從具有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
從中which -a python
看到which -a python
在/usr/local/lib/python
和/usr/bin/python/
有兩個python 2安裝,因此刪除/usr/local/lib/python
將解決問題。
如果您在virtualenv中工作,則升級過程中可能已損壞。 您只需運行即可修復它
virtualenv /PATH/TO/EXISTING/ENVIRONMENT
要么
virtualenv --system-site-packages /PATH/TO/EXISTING/ENVIRONMENT
對於沒有名為_ctypes錯誤的模塊,您可以嘗試以下操作:
apt-get install libffi-dev
我希望這有幫助。
也許您的路徑設置不正確。
試試看:
import sys
sys.path
也許python路徑不存在,然后不導入模塊。
如果不存在,則在列表中像新元素一樣添加路徑。
sys.path.append(new path)
我希望這有幫助
根據您的評論, which python
返回/usr/local/lib/python
,看起來您在本地安裝的Python與發行版的安裝不同。 發行軟件包永遠不會安裝在Ubuntu上的/usr/local
中。 將自定義安裝的Python與分發提供的庫混合使用(如錯誤中的/usr/lib
路徑所示)會導致多種問題。
我建議刪除安裝在/usr/local/lib
的Python(這是安裝二進制文件的一個奇怪的地方),或者從PATH中刪除它,以便可以訪問已安裝發行版的Python。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.