在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删除特定文件的方法
Jul 30 Python
Python读大数据txt
Mar 28 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
Python Numpy:找到list中的np.nan值方法
Oct 30 Python
python频繁写入文件时提速的方法
Jun 26 Python
python实现翻转棋游戏(othello)
Jul 29 Python
python对常见数据类型的遍历解析
Aug 27 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
Oct 04 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
python 控制台单行刷新,多行刷新实例
Feb 19 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
利用python进行数据加载
Jun 20 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
JAVA/JSP学习系列之二
2006/10/09 PHP
jQuery 源码分析笔记
2011/05/25 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
js 页面输出值
2008/11/30 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
深入理解javascript prototype的相关知识
2019/09/19 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
Python时间获取及转换知识汇总
2017/01/11 Python
Python 装饰器使用详解
2017/07/29 Python
matplotlib实现区域颜色填充
2019/03/18 Python
在vscode中配置python环境过程解析
2019/09/28 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
行政前台岗位职责
2013/12/04 职场文书
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
个人简历中自我评价
2014/02/11 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
公司租车协议书
2015/01/29 职场文书
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python