在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接收多播数据的代码
Mar 01 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
Python中staticmethod和classmethod的作用与区别
Oct 11 Python
解决Mac下首次安装pycharm无project interpreter的问题
Oct 29 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
Django中使用Celery的方法示例
Nov 29 Python
Python实现操纵控制windows注册表的方法分析
May 24 Python
tensorflow没有output结点,存储成pb文件的例子
Jan 04 Python
python中sklearn的pipeline模块实例详解
May 21 Python
什么是Python中的匿名函数
Jun 02 Python
如何用python批量调整视频声音
Dec 22 Python
Django项目在pycharm新建的步骤方法
Mar 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&amp;&amp;mysql)三
2006/10/09 PHP
PHP 操作文件的一些FAQ总结
2009/02/12 PHP
php实现rc4加密算法代码
2012/04/25 PHP
php生成略缩图代码
2012/07/16 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
Python生成随机密码的方法
2017/06/16 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
TCP/IP的分层模型
2013/10/27 面试题
国庆节促销广告语2014
2014/09/19 职场文书
网络销售员岗位职责
2015/04/11 职场文书
小学主题班会教案
2015/08/17 职场文书
运动会主持人开幕词
2016/03/04 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
如何写好闭幕词
2019/04/02 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python