在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字符转换
Sep 06 Python
python使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
使用Python脚本操作MongoDB的教程
Apr 16 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
详解Python的Django框架中的templates设置
May 11 Python
python中set常用操作汇总
Jun 30 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
Jan 24 Python
用Python做一个久坐提醒小助手的示例代码
Feb 10 Python
python 深度学习中的4种激活函数
Sep 18 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
Django跨域请求原理及实现代码
Nov 14 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
PHP往XML中添加节点的方法
2015/03/12 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
JS学习之一个简易的日历控件
2010/03/24 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
python selenium firefox使用详解
2019/02/26 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
python 实现图片批量压缩的示例
2020/12/18 Python
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
大学生新闻专业个人自我评价
2013/11/12 职场文书
英文导游欢迎词
2014/01/11 职场文书
美发活动策划书
2014/01/14 职场文书
我的中国梦演讲稿600字
2014/08/19 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
主婚人致辞精选
2015/07/28 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang
Python字典和列表性能之间的比较
2021/06/07 Python
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP