pylab ImportError:没有名为_thread的模块

Jea*_*Pat 7 python ubuntu matplotlib

从ubuntu 10.04开始,我用easy_install安装了pylab.经过一些升级,我可以导入pylab.首先,我从easy_install运行ipython:

$ ipython
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
Type "copyright", "credits" or "license" for more information.

IPython 0.11 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
Run Code Online (Sandbox Code Playgroud)

然后我尝试导入matplotlib

In [1]: import matplotlib

In [2]: matplotlib.__version__
Out[2]: '1.0.1'
Run Code Online (Sandbox Code Playgroud)

但是当导入pylab failes时如下:

In [3]: import matplotlib.pylab
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/home/claire/<ipython-input-3-1d30b9aee20b> in <module>()
----> 1 import matplotlib.pylab

/usr/local/lib/python2.6/dist-packages/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib /pylab.py in <module>()
    218      silent_list, iterable, dedent
    219 
 --> 220 from matplotlib import mpl  # pulls in most modules
    221 
    222 from matplotlib.dates import date2num, num2date,\

/usr/local/lib/python2.6/dist-packages/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib    /mpl.py in <module>()
      1 from matplotlib import artist
      2 from matplotlib import axis
----> 3 from matplotlib import axes
      4 from matplotlib import cbook
      5 from matplotlib import collections

/usr/local/lib/python2.6/dist-packages/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib    /axes.py in <module>()
     17 import matplotlib.colors as mcolors
     18 import matplotlib.contour as mcontour
---> 19 import matplotlib.dates as mdates
     20 from matplotlib import docstring
     21 import matplotlib.font_manager as font_manager

/usr/local/lib/python2.6/dist-packages/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib/dates.py in <module>()
    117 import matplotlib.ticker as ticker
    118 
--> 119 from dateutil.rrule import rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY, \
    120      MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY
    121 from dateutil.relativedelta import relativedelta

/usr/local/lib/python2.6/dist-packages/python_dateutil-2.0-py2.6.egg/dateutil/rrule.py in <module>()
    11 import datetime
    12 import calendar
---> 13 import _thread
     14 import sys
     15 

ImportError: No module named _thread
Run Code Online (Sandbox Code Playgroud)

这可能是python_dateutil问题.我删除了与synaptic一起安装的旧版本(1.4.3)但不能解决问题.

如何在不重新安装的情况下修复它?谢谢.让 - 帕特里克

Fel*_*Yan 9

它是由dateutil引起的.

如您所见,您已使用easy_install 安装了dateutil 2.0,但它与python 2.x不兼容.您应该卸载(或只删除整个文件夹)2.0版本,然后转到其主页并下载1.5版,然后手动安装它.

版本2.0适用于Python 3.x,您也可以在主页上找到它.

--UPDATE--

dateutil 2.1过时了,现在是不是需要使用1.5了,如果你能忍受six得到安装太:)

  • Virtualenv与虚拟机不同.对于Python来说,这是一个糟糕的maro chroot,您可以使用它来安装和操作包,而无需触及系统安装.查看文档以获取更多详细信息.http://pypi.python.org/pypi/virtualenv (3认同)