在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之编写简单简单连接数据库并执行查询操作
Feb 27 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
Apr 24 Python
Python编程给numpy矩阵添加一列方法示例
Dec 04 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
Dec 25 Python
Python读取视频的两种方法(imageio和cv2)
Apr 15 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
python3.5安装python3-tk详解
Apr 26 Python
Gauss-Seidel迭代算法的Python实现详解
Jun 29 Python
浅析python表达式4+0.5值的数据类型
Feb 26 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 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
基于mysql的论坛(2)
2006/10/09 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
PHP错误机制知识汇总
2016/03/24 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
写的htc的数据表格
2007/01/20 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
Python抓取手机号归属地信息示例代码
2016/11/28 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
Python中的id()函数指的什么
2017/10/17 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
python实现日志按天分割
2019/07/22 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
Python requests获取网页常用方法解析
2020/02/20 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2020/03/19 Python
python线程池如何使用
2020/05/28 Python
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
德国帽子专家:Hutshopping
2019/11/03 全球购物
母亲80寿诞答谢词
2014/01/16 职场文书
买房委托公证书
2014/04/08 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书