在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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
python字符串连接的N种方式总结
Sep 17 Python
跟老齐学Python之不要红头文件(2)
Sep 28 Python
Python中处理时间的几种方法小结
Apr 09 Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
Django中的forms组件实例详解
Nov 08 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 Python
Python实现自动签到脚本功能
Aug 20 Python
详解Anaconda 的安装教程
Sep 23 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
python实现文件+参数发送request的实例代码
Jan 05 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
apache和PHP如何整合在一起
2015/10/12 PHP
php简单中奖算法(实例)
2017/08/15 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
浅谈js闭包理解
2019/04/01 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
2020/03/17 Javascript
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
python动态参数用法实例分析
2015/05/25 Python
利用Python查看目录中的文件示例详解
2017/08/28 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
python对一个数向上取整的实例方法
2020/06/18 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
python 用opencv实现霍夫线变换
2020/11/27 Python
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
应届生.NET方向面试题
2015/05/23 面试题
linux系统都有哪些运行级别
2016/03/26 面试题
五五普法心得体会
2014/09/04 职场文书
小学校本教研总结
2015/08/13 职场文书
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL