我在Ubuntu 14.04上使用pyenv
安装了Python 3.4.2版,然后我安装了pyside
:
$ pip install pyside
然后安装numpy
和matplotlib
:
$ pip install numpy
$ pip install matplotlib
如果我现在尝试从matplotlib
导入ipython
:
In [1]: import matplotlib
/home/hakon/.pyenv/versions/3.4.2/lib/python3.4/site-packages/matplotlib/__init__.py:1039: UserWarning: Bad val "pyside" on line #39
"backend : pyside
"
in file "/home/hakon/.pyenv/versions/3.4.2/lib/python3.4/site-packages/matplotlib/mpl-data/matplotlibrc"
Key backend: Unrecognized backend string "pyside": valid strings are ['emf', 'GTK', 'GTK3Agg', 'nbAgg', 'CocoaAgg', 'GTKAgg', 'pgf', 'agg', 'Qt4Agg', 'pdf', 'ps', 'cairo', 'MacOSX', 'WX', 'WebAgg', 'gdk', 'svg', 'TkAgg', 'GTK3Cairo', 'template', 'Qt5Agg', 'WXAgg', 'GTKCairo']
(val, error_details, msg))
如果我编辑matplotlib
配置文件:
/home/hakon/.pyenv/versions/3.4.2/lib/python3.4/site-packages/matplotlib/mpl-data/matplotlibrc
:我可以看到它有一条线:
backend : pyside
如果我将其更改为:
backend : Qt4Agg
backend.qt4 : PySide
工作正常..
问题是:为什么matplotlibrc
文件首先具有无效的后端(pyside
)值?
答案 0 :(得分:1)
我不知道为什么你安装的matplotlib包中的matplotlibrc中有无意义。您可能想直接向matplotlib的开发人员询问。
但是,可以通过编程方式覆盖这些设置,然后应该独立于任何此类设置。
import matplotlib
matplotlib.use('Qt4Agg')
matplotlib.rcParams['backend.qt4']='PySide'
答案 1 :(得分:0)
<input class="gsinput" value="1" />
<input class="gsinput" value="2" />
<input class="gsinput" value="3" />
<input class="gsinput" value="4" />
<input class="gsinput" value="5" />
是每个pyqt5
的默认安装版本,因此最好只使用anaconda
matplotlib.use('Qt5Agg')