win10+anaconda环境下pyqt5+qt tools+eric6.18安装及汉化过程

时间:2021-09-12 03:36:48

最近需要用python编写一个小程序的界面,选择了pyqt5+eric6的配套组合,安装过程中遇到一些坑,特此记录。参考书籍是电子工业出版社的《PyQt5快速开发与实战》。
因为我使用anaconda,直接在base环境下按照书上的介绍安装qt tools的时候,总是报错,提示QSintilla没有安装,但实际上我是已经安装了的,不知道什么原因。最后无奈,建立了一个虚拟环境进行安装。
PyQt5新版本在windows下好像就只能通过命令行方式安装了,同时也不带qt tools,都需要手动安装。
首先进入anaconda prompt,激活虚拟环境,比如我配置的python3.6的虚拟环境eric18,则输入:

activate eric18

然后安装PyQt5,国外的源安装很慢,推荐-i使用豆瓣的源:

pip install PyQt5 -i https://pypi.douban.com/simple

再安装pyqt tools,书上说还需要配置系统环境变量,但是如果使用anaconda的话,就可以不用配置了:

pip install PyQt5-tools -i https://pypi.douban.com/simple

完了以后就是安装eric6了,这里坑有点多,先到https://eric-ide.python-projects.org/eric-download.html下载eric6,eric6最新版本是18.12,已经不再提供中文汉化的维护,官网所有18版本下的文件夹里也找不到汉化包,但是在17版本里可以找到,一样可以使用,只是部分没有汉化,也下下来,一共2个压缩包,解压缩到任意文件夹,将汉化包里的所有文件复制到eric的文件夹里面。
还是在虚拟环境的命令行下,进入刚刚解压缩的eric文件夹,输入以下命令安装:

python install.py

然后就等吧,这里有一点,eric需要pywin32包,没装的话安装eric的时候会自动安装,但是很慢,如果中途失败,可以之后使用国内的源再安装就好了:

pip install pywin32 -i https://pypi.douban.com/simple

至此,基本就安装好了,以我的路径为例,安装在E:\programs\Anaconda3\env\eric18\Lib\site-packages\eric6文件夹下,有两点要注意的是,因为是anaconda环境,所以书上说的会在eric6文件夹下面生成一个eric6.bat的文件,此时会安装在虚拟环境的Scripts文件夹下,比如我的就在E:\programs\Anaconda3\env\eric18\Scripts下,而不是在eric自身的文件夹下,还有一点如果是eric6.17版本,会生成bat文件,而eric6.18版本,会生成一个cmd文件,我直接运行cmd文件报错,把cmd后缀改成bat就可以了。
最后一个要注意的就是eric jedi插件的安装,需要先安装python的jedi包,如下:

pip install jedi

然后在eric的插件管理器里面下载安装eric的jedi插件,但是不知道为什么, 我的eric的插件管理器总是显示离线状态,也无法更新软件,提示网络离线,有知道的大神麻烦能帮忙解答。解决办法是,直接使用网页浏览器打开插件仓库的url,其实就是一个xml文件,地址是https://eric-ide.python-projects.org/plugins6/repository.xml,在里面找到jedi插件的地址,如下:https://eric-ide.python-projects.org/plugins6/stable/PluginCompletionJedi.zip,直接下载下来手动安装
我之前使用的eric6.17版本,插件是3.03版本,使用eric的时候老是报错,重新安装eric6.18版本以后,暂时没有报错了。只是汉化以后,还是会提示Warning: translation file 'jedi_zh_CN' could not be loaded.
最后就是汉化了,汉化很简单,eric的汉化文件是eric6_zh_CN.qm,如果之前安装的时候没有汉化,此时把文件放在eric6文件夹的i18n子目录就可以了。另外就是qt designer的汉化,按照命令行安装是没有汉化的,我是从网上下了一个汉化文件designer_zh_CN.qm,放到pyqt5_tools\translations文件夹下,重启程序就可以了。
以上,就是安装过程中遇到的所有的坑,看起来好像很复杂,但是一步一步做下来还好。留个记录,以免自己以后重装时忘了。