在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实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
python 提取key 为中文的json 串方法
Dec 31 Python
Python 移动光标位置的方法
Jan 20 Python
Python中的pathlib.Path为什么不继承str详解
Jun 23 Python
python爬虫神器Pyppeteer入门及使用
Jul 13 Python
python3在同一行内输入n个数并用列表保存的例子
Jul 20 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
python常用数据重复项处理方法
Nov 22 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
python中文分词库jieba使用方法详解
Feb 11 Python
python获取命令行参数实例方法讲解
Nov 02 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 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 面试碰到过的问题 在此做下记录
2011/06/09 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
php实现的短网址算法分享
2014/06/20 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
jQuery 使用手册(七)
2009/09/23 Javascript
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
JavaScript实现图片轮播的方法
2015/07/31 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
bootstrap与pagehelper实现分页效果
2018/12/29 Javascript
vue实现多组关键词对应高亮显示功能
2019/07/25 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
解决python 文本过滤和清理问题
2019/08/28 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
Python更新所有已安装包的操作
2020/02/13 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
先进班级集体事迹材料
2014/01/30 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
详解python字符串驻留技术
2021/05/21 Python