天地一扁舟 2016-05-20 11:47 采纳率: 0%
浏览 2489
已采纳

各位朋友好,请教ubuntu系统python3.4环境下安装matplotlib报错的解决办法

具体的问题是这样的:
我的系统是Ubuntu14.04 的64位系统,python3.4版本下,想使用matplotlib来做图。
由于matplotlib依赖numpy和python的图像库PIL,因此我先安装numpy和PIL然后,再安装matplotlib,

这里附上我的安装matplotlib的shell命令

#安装科学计算库numpy
sudo pip3 install numpy
#安装图像处理库PIL
sudo apt-get install python3.4-dev -y
sudo apt-get install libjpeg8-dev zlib1g-dev libfreetype6-dev -y
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib
sudo apt-get install python3-pil
#安装画图库matplotlib
sudo pip3 install matplotlib

但是发现虽然安装成功(在python3的shell交互环境下, import matplotlib 是可以的),但是 执行如下语句
from matplotlib import pyplot as plt
报错:
"/usr/local/lib/python3.4/dist-packages/matplotlib-1.5.1-py3.4-linux-x86_64.egg/matplotlib/backends/backend_gtk3.py", line 58, in
cursors.MOVE : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
TypeError: constructor returned NULL

希望各位朋友能指点一下,十分感谢

  • 写回答

2条回答 默认 最新

  • Valtava 2016-05-20 19:29
    关注

    如果你import matplotlib没有问题但是import pyplot 有问题的话,可能是X server的问题, 比如楼上说的GTK没装好的问题。你可以先试试调用 matplotlib.use("Pdf")然后再import pyplot 。
    比如

    import matplotlib
    matplotlib.use('Pdf')
    import matplotlib.pyplot as plt
    

    这种情况下不能在屏幕上显示,但是一切数据操作都正常并且可以保存pdf文件。
    如果不喜欢pdf文件的话,可以试试用

     Agg, Svg, Ps 
    

    其中的某一个,参数含义请参考参考 http://matplotlib.org/faq/howto\_faq.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能