问题1 安装spyder后创建的python环境改变
(1)描述
最近安装了anacon创建了python=3.5的环境,但是每次通过anaconda navigator安装spyder后,这个环境的python版本就变为最新的3.7,通过p也会出现同样的问题。但是我需要的版本是3.5。
(2)解决办法
原来都是通过cmd直接安装的,这次通过Anaconda prompt,输入命令:conda install spyder,即可。
问题2 关于spyder和labelImg需要的pyqt5冲突问题
(1)描述
我原本的的spyder是可以运行的,但是由于最近在搞深度学习的标签标注工作,用到了labelImg,而labelImg是需要pyqt5支持的,理论上来说,当初安装spyder的时候已经安装了pyqt5,现在是不用安装的,但是实际上却无法运行labelImg,于是乎我就安装了pyqt5(pip install pyqt5)。安装完毕后labelImg可以用了,但是spyder却打不开了,显示的错误为:
图来源于https://blog.csdn.net/fwpevil/article/details/88049138,按照该博主的解决办法,我的问题并没有得到解决。
(2)解决办法
我推测的原因是因为当初安装spyder的时候默认安装的有关于pyqt5的东西与后来我自己安装的pyqt5有冲突。
因此我首先pip uninstall pyqt5,pyqt5-sip(我还删除了一个PyQt5.QtWebKitWidgets模块,貌似是这个名字,记不清了)
同时在目录F:\Anaconda3\envs\tensorflow3.5\Lib\site-packages下删除所有有关pyqt5的东西。
之后pip install pyqt5==5.10.1
为什么要选择5.10.1版本,这是对我删除PyQt5.QtWebKitWidgets模块的报应啊,因为删除了之后安装pyqt5 v5.11及更高版本,不包含WebEngine模块,再运行spyder。会出现:
No module named ‘PyQt5.QtWebEngineWidgets’
因此只能选择5.10.1的版本,经过测试可以运行spyder了
但是关于labelImg又不能运行了
对于这种情况,我已经不想再想解决办法了
最后就是重新创建了一个labeltools的环境,在里面安装pyqt5,专门用来进行标注
问题3 Spyder安装完成之后运行显示'module' object has no attribute '_base'
上网寻找答案,很感谢这篇博文给出的解决方案http://blog.csdn.net/justdoitjs/article/details/63689061。
通过sudo pip install --upgrade html5lib==1.0b8更新html5lib之后,就可以顺利打开spyder了。
问题3 spyder加断点调试灰屏以及kernel die的解决
1、加断点调试黑屏
有时候加断点调试后,刚点下spyder就变灰卡死,最后发现是在其他的py文件中import加了断点。
2、kernel die
我在运行detectron的时候出现kernel die,原因是没有配置匹配的cudnn,要求是cudnn6.0