服务器之家

服务器之家 > 正文

在python3中pyqt5和mayavi不兼容问题的解决方法

时间:2021-05-12 00:48     来源/作者:落叶_小唱

环境:

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代码便会出错

错误提示:

?
1
runtimeerror: invalid qt api 'pyqt5', valid values are: 'pyqt' or 'pyside'

我在根据网上的答案操作的时候还出现了下面的错误,但是已经忘了错误是怎么来的了

?
1
2
3
4
5
6
7
8
9
10
11
12
>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

?
1
2
3
import os
os.environ['qt_api']='pyside'
%gui qt4

网上找到的一个答案是将qt_api修改成pyqt,但我自己试了不行,最后是使用pyside解决的

(2) spyder

在涉及到mayavi的代码中最开始添加

?
1
2
import os
os.environ['qt_api']='pyside'

添加完之后spyder运行还是会出错,要修改ipython的backend,设置那里把bakend修改成tkinter,我试过修改成qt4会出现ipython内核启动不了,如图

在python3中pyqt5和mayavi不兼容问题的解决方法

更简单的方法就是设置ipython启动那里,添加上面的代码,如下图,但是要注意迁移到其他平台下要稍作修改。

在python3中pyqt5和mayavi不兼容问题的解决方法

(3) iep3.7

每段代码前加入

?
1
2
import os
os.environ['qt_api']='pyside'

修改shell配置,将gui选择tk,如图

在python3中pyqt5和mayavi不兼容问题的解决方法

2017/08/10更新

在linux下也进行类似的操作,以linux mint18.2 为例,进入新立得软件管理器,搜索python3-pyside 进行安装,注意,如果直接pip3安装会提示

?
1
only these python versions are supported: [(2, 6), (2, 7), (3, 2), (3, 3), (3, 4)]

或者通过apt-get 安装

?
1
apt-get install python3-pyside

我在linux下也使用spyder,参照上面的配置即可.

每段代码前加入

?
1
2
import os
os.environ['qt_api']='pyside'

然后设置ipython的backend后端为tkinter

以上这篇在python3中pyqt5和mayavi不兼容问题的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/ouening/article/details/76995188

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部