在python3中pyqt5和mayavi不兼容问题的解决方法

 更新时间:2019年01月08日 11:31:52   作者:落叶_小唱  
今天小编就为大家分享一篇在python3中pyqt5和mayavi不兼容问题的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

环境:

win10 64bit & Linux Mint 18.2

WinPython3.6.1,spyder,qtconsole

iep3.7

问题描述:

通过http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyside下载mayavi,pyqt4,vtk等包安装后执行mayavi代码不会出现问题,突然想学pyqt5,就

pip3 install pyqt5

安装了,安装之后重新运行mayavi代码便会出错

错误提示:

RuntimeError: Invalid Qt API 'pyqt5', valid values are: 'pyqt' or 'pyside'

我在根据网上的答案操作的时候还出现了下面的错误,但是已经忘了错误是怎么来的了

>ImportError: Could not import backend for traits

Make sure that you have either the TraitsBackendWx or the TraitsBackendQt
projects installed. If you installed Mayavi with easy_install, try
easy_install <pkg_name>. easy_install Mayavi[app] will also work.

If you performed a source checkout, be sure to run 'python setup.py install'
in Traits, TraitsGUI, and the Traits backend of your choice.

Also make sure that either wxPython or PyQT is installed.
wxPython: http://www.wxpython.org/
PyQT: http://www.riverbankcomputing.co.uk/software/pyqt/intro

解决办法

下面我直说在qtconsole,spyder和iep3.7下成功解决的办法,

首先安装pyside,whl安装文件在上面链接下载,安装完后将pysided目录添加到系统环境变量,比如我的在

D:\Applications\WinPython-64bit-3.6.1.0Zero\python-3.6.1.amd64\Lib\site-packages\PySide

(1) qtconsole

import os
os.environ['QT_API']='pyside'
%gui qt4

网上找到的一个答案是将QT_API修改成pyqt,但我自己试了不行,最后是使用pyside解决的

(2) spyder

在涉及到mayavi的代码中最开始添加

import os
os.environ['QT_API']='pyside'

添加完之后spyder运行还是会出错,要修改ipython的backend,设置那里把bakend修改成Tkinter,我试过修改成Qt4会出现ipython内核启动不了,如图

python3 pyqt5和mayavi不兼容

更简单的方法就是设置ipython启动那里,添加上面的代码,如下图,但是要注意迁移到其他平台下要稍作修改。

python3 pyqt5和mayavi不兼容

(3) iep3.7

每段代码前加入

import os
os.environ['QT_API']='pyside'

修改shell配置,将gui选择tk,如图

python3 pyqt5和mayavi不兼容

2017/08/10更新

在linux下也进行类似的操作,以linux mint18.2 为例,进入新立得软件管理器,搜索python3-pyside 进行安装,注意,如果直接pip3安装会提示

only these python versions are supported: [(2, 6), (2, 7), (3, 2), (3, 3), (3, 4)]

或者通过apt-get 安装

apt-get install python3-pyside

我在linux下也使用spyder,参照上面的配置即可.

每段代码前加入

import os
os.environ['QT_API']='pyside'

然后设置IPython的backend后端为Tkinter

以上这篇在python3中pyqt5和mayavi不兼容问题的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 数据可视化超详细讲解折线图的实现

    Python 数据可视化超详细讲解折线图的实现

    数据可以帮助我们描述这个世界、阐释自己的想法和展示自己的成果,但如果只有单调乏味的文本和数字,我们却往往能难抓住观众的眼球。而很多时候,一张漂亮的可视化图表就足以胜过千言万语,让我们来用Python实现一个可视化的折线图
    2022-03-03
  • Python批量修改图片分辨率的实例代码

    Python批量修改图片分辨率的实例代码

    今天小编就为大家分享一篇Python批量修改图片分辨率的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • TensorFlow和keras中GPU使用的设置操作

    TensorFlow和keras中GPU使用的设置操作

    这篇文章主要介绍了TensorFlow和keras中GPU使用的设置操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 手把手教你用322行Python代码编写贪吃蛇游戏

    手把手教你用322行Python代码编写贪吃蛇游戏

    最近在学Python,想做点什么来练练手,命令行的贪吃蛇一般是C的练手项目,但是一时之间找不到别的,就先做个贪吃蛇来练练简单的语法,下面这篇文章主要给大家介绍了关于如何用322行Python代码编写贪吃蛇游戏的相关资料,需要的朋友可以参考下
    2023-02-02
  • 使用Python 统计高频字数的方法

    使用Python 统计高频字数的方法

    今天小编就为大家分享一篇使用Python 统计高频字数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python的sqlite3模块中常用函数

    Python的sqlite3模块中常用函数

    sqlite3模块是Python中的内置模块,用于与SQLite数据库交互,本文就来介绍一下Python的sqlite3模块中常用函数,感兴趣的可以了解一下
    2023-10-10
  • Python实现冒泡,插入,选择排序简单实例

    Python实现冒泡,插入,选择排序简单实例

    这篇文章主要介绍了Python实现冒泡,插入,选择排序简单实例,很适合Python初学者学习参考之用,需要的朋友可以参考下
    2014-08-08
  • Python实现Window路径格式转换为Linux路径格式的代码

    Python实现Window路径格式转换为Linux路径格式的代码

    这篇文章主要介绍了Python实现Window路径格式转换为Linux路径格式的方法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-07-07
  • 使用python实现ANN

    使用python实现ANN

    这篇文章主要为大家详细介绍了使用python实现ANN的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 对Pycharm创建py文件时自定义头部模板的方法详解

    对Pycharm创建py文件时自定义头部模板的方法详解

    今天小编就为大家分享一篇对Pycharm创建py文件时自定义头部模板的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论