2013-10-07 114 views
8

我无法使用Anaconda(Linux 64位)的最新版本import pylab。其他包似乎工作正常。 (注:我没有sudo访问)Anaconda:无法导入pylab

In [1]: import pylab as pl 
--------------------------------------------------------------------------- 
ImportError        Traceback (most recent call last) 
<ipython-input-6-2cf12a0af6ff> in <module>() 
----> 1 import pylab as pl 

/home/josh/installs/conda/1.7.0/lib/python2.7/site-packages/pylab.py in <module>() 
----> 1 from matplotlib.pylab import * 
     2 import matplotlib.pylab 
     3 __doc__ = matplotlib.pylab.__doc__ 

/home/josh/installs/conda/1.7.0/lib/python2.7/site-packages/matplotlib/pylab.py in <module>() 
    267 from numpy.linalg import * 
    268 
--> 269 from matplotlib.pyplot import * 
    270 
    271 # provide the recommended module abbrevs in the pylab namespace 

/home/josh/installs/conda/1.7.0/lib/python2.7/site-packages/matplotlib/pyplot.py in <module>() 
    96 
    97 from matplotlib.backends import pylab_setup 
---> 98 _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() 
    99 
    100 

/home/josh/installs/conda/1.7.0/lib/python2.7/site-packages/matplotlib/backends/__init__.pyc in pylab_setup() 
    23   backend_name = 'matplotlib.backends.%s'%backend_name.lower() 
    24  backend_mod = __import__(backend_name, 
---> 25        globals(),locals(),[backend_name]) 
    26 
    27  # Things we pull in from all backends 

/home/josh/installs/conda/1.7.0/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py in <module>() 
    11 
    12 from backend_agg import FigureCanvasAgg 
---> 13 from backend_qt4 import QtCore, QtGui, FigureManagerQT, FigureCanvasQT,\ 
    14  show, draw_if_interactive, backend_version, \ 
    15  NavigationToolbar2QT 

/home/josh/installs/conda/1.7.0/lib/python2.7/site-packages/matplotlib/backends/backend_qt4.py in <module>() 
    23  figureoptions = None 
    24 
---> 25 from qt4_compat import QtCore, QtGui, _getSaveFileName, __version__ 
    26 
    27 backend_version = __version__ 

/home/josh/installs/conda/1.7.0/lib/python2.7/site-packages/matplotlib/backends/qt4_compat.py in <module>() 
    34 # Now perform the imports. 
    35 if QT_API in (QT_API_PYQT, QT_API_PYQTv2): 
---> 36  import sip 
    37  if QT_API == QT_API_PYQTv2: 
    38   if QT_API_ENV == 'pyqt': 

ImportError: No module named sip 

如果我尝试

> conda install sip 

我得到:

$ pip install sip              1 
Downloading/unpacking sip 
    You are installing a potentially insecure and unverifiable file. Future v 
ersions of pip will default to disallowing insecure files.     
    Downloading sip-4.15.2.zip (899kB): 899kB downloaded 
    Running setup.py egg_info for package sip 
    Traceback (most recent call last): 
     File "<string>", line 16, in <module> 
    IOError: [Errno 2] No such file or directory: '/tmp/pip_build_josh/ 
sip/setup.py'                
    Complete output from command python setup.py egg_info: 
    Traceback (most recent call last): 

    File "<string>", line 16, in <module> 

IOError: [Errno 2] No such file or directory: '/tmp/pip_build_josh/sip/ 
setup.py'                 

---------------------------------------- 
Cleaning up... 
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build 
_josh/sip                
Storing complete log in /home/josh/.pip/pip.log 

Error: No packages found matching: sip 

我也得到错误

有什么想法,为什么?

+0

您似乎没有正确安装'PyQt',请使用不同的后端。 – tacaswell

+0

谢谢@tcaswell。你会推荐什么其他的后端? – Josh

+1

snarky(但大多数是正确的)答案是您曾经安装过的依赖关系之一。试试'tkagg','wxagg'或'gtk3agg' – tacaswell

回答

10

只是有这个问题,它涉及到QT后端matplotlib尝试使用,请尝试:

import PyQt4 

如果你没有PyQt4的,你可能有PySide

import PySide 

如果这是您需要设置matplotlib.rcParams['backend.qt4'] == 'PySide'而不是'PyQt4'的情况。你也可以做到这一点在你的matplotlibrc文件(〜/ .matplotlib/matplotlibrc

# find and change line: 
backend.qt4 : PySide 

注意:如果你没有matplotlibrc文件,你可以从matplotlib源目录复制

import os 
import matplotlib 
mpl_dir = os.path.dirname(matplotlib.__file__) 
os.system("cp {}/mpl-data/matplotlibrc ~/.matplotlib/".format(mpl_dir)) 
+0

对于这个问题,Anaconda存在一个问题:https://github.com/ContinuumIO/anaconda-issues/issues/8 – user2304916