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


Posted in Python onJanuary 08, 2019

环境:

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的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 Python
详解 Python中LEGB和闭包及装饰器
Aug 03 Python
Python的SimpleHTTPServer模块用处及使用方法简介
Jan 22 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
利用Python如何批量修改数据库执行Sql文件
Jul 29 Python
python如何实现一个刷网页小程序
Nov 27 Python
python多进程重复加载的解决方式
Dec 13 Python
Pandas实现DataFrame按行求百分数(比例数)
Dec 27 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
Python调用Windows命令打印文件
Feb 07 Python
python实现飞船游戏的纵向移动
Apr 24 Python
python中子类与父类的关系基础知识点
Feb 02 Python
Django之模型层多表操作的实现
Jan 08 #Python
对python mayavi三维绘图的实现详解
Jan 08 #Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
Jan 08 #Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 #Python
Python OpenCV对本地视频文件进行分帧保存的实例
Jan 08 #Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 #Python
对Python+opencv将图片生成视频的实例详解
Jan 08 #Python
You might like
PHP 高手之路(三)
2006/10/09 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
javascript Excel操作知识点
2009/04/24 Javascript
js中各浏览器中鼠标按键值的差异
2011/04/07 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/27 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
深入学习Python中的装饰器使用
2016/06/20 Python
Python类的继承和多态代码详解
2017/12/27 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
资深生产主管自我评价
2013/09/22 职场文书
运动会领导邀请函
2014/02/05 职场文书
关于读书的演讲稿
2014/05/07 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
文言文辞职信
2015/02/28 职场文书
如何写辞职信
2015/05/13 职场文书
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android