我正在使用 python3.3.3 并且我已经手动安装了 scipy 0.13.3、matplotlib 1.3.1、numpy 1.8.0(从 sourgeforge 下载并像 $sudo python3 setup.py 或自述文件告诉我的任何内容一样构建它们去做)。我正在使用 Linux Mint Maya 13.04 64 位和 KDE 4.8.5
当我运行时:
$ python3
Python 3.3.3 (default, Jan 27 2014, 12:55:04)
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pylab as pl
>>> pl.figure(figsize=(8, 6), dpi=80)
<matplotlib.figure.Figure object at 0x7f2025397450>
>>> pl.show()
>>>
我一无所获。我用谷歌搜索了一下,后端似乎有问题。所以我去文件
/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/mpl-data/matplotlibrc
找到那条线
backend : agg
并将 agg 更改为 TkAgg、WXAgg、GTKAgg、PS、PDF 等。
对于 PS、PDF,我也没有结果。如果我使用 TkAgg 等,我会在导入 pylab 时遇到错误,即
>>> import pylab as pl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/pylab.py", line 1, in <module>
from matplotlib.pylab import *
File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/pylab.py", line 269, in <module>
from matplotlib.pyplot import *
File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/pyplot.py", line 98, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/backends/__init__.py", line 28, in pylab_setup
globals(),locals(),[backend_name],0)
File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/backends/backend_tkagg.py", line 8, in <module>
import tkinter as Tk, tkinter.filedialog
File "/usr/local/lib/python3.3/tkinter/__init__.py", line 40, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'
>>>
我应该说我在 Python 2.7 上没有问题。另外,我尝试从包管理器安装 python3 和其他包,但这行不通(即我无法导入 scipy)。
有什么想法吗??
最佳答案
许多后端不会使用 pl.show() 生成图形用户界面,例如 agg、ps 和 pdf,它们用于生成文件。您尝试使用的其他软件不适合您的系统,因为您没有安装它们。例如,对于 TkAgg,您应该安装 TkInter。看这个matplotlib backend FAQ了解更多信息。由于您使用的是 KDE,您可能想使用“Qt4Agg”,但这取决于您在系统上安装的内容。更改 matplotlibrc 文件是永久更改后端的一种方法,但您也可以使用以下内容动态更改它,例如,如果您想生成文件而不是 gui,这将很有用:
import matplotlib
matplotlib.use('Qt4Agg')
您应该在导入其他 matplotlib 模块之前调用它。
关于linux - 看不到 pylab 的情节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21631327/