QGIS3.6配置python插件开发环境及调试环境


这几天准备用qgis开发个py的插件,看了一圈发现最新版本都到3.6.3了,网上2.*的教程比较多,一边参考一边看官网硬着头皮搞了一遍,环境如下:
win7 x64
qgis 3.6.3
py 3.7.1(qgis自带)
eclipse 最新版(4.11.0)至于为毛用最新版,后面再说
pycharm 2017.3

java1.8
就不放下载链接了,都是官网下载就对了~~~

1、准备工作

1.1 qgis、ide等的安装

也就是前面说的软件都按相应版本下载、安装完毕,基本都是直接next就行了,然后pycharm里配置好python,这个网上很多自行设置。

1.2 eclipse的pydev安装、配置

这里为什么要安装最新版呢,是因为在线只提供pydev7.2的版本,也就是最新版本,所以按照官网对应的eclipse版本就只能下最新的了。。。

在这里插入图片描述
当然如果你不想下载,用已有的eclipse也行,按照官网上的说明自行下载离线的pydev版本即可
在这里插入图片描述
下载地址:https://sourceforge.net/p/pydev/activity/?page=0&limit=100#5b8ac197f0d3477874cef930
PS:如果是pydev离线安装,后面配置调试路径的时候是找不到在线安装的路径的:“C:\Users<你的计算机名>.p2\pool\plugins\org.python.pydev_5.8.0.201706061859\pysrc”
需要去如图所示的位置找:
在这里插入图片描述
安装完之后需要在eclipse里配置
在这里插入图片描述

2、配置

2.1 环境变量配置

先设置系统变量path,要把qgis下的py37目录也放进去(切记要放到最前面,防止被其他地方安装的python覆盖),如:

C:\Program Files\QGIS 3.6\apps\Python37\;C:\Program Files\QGIS 3.6\bin;C:\Program Files\QGIS 3.6\apps\qgis\bin;

其他变量:

PYTHONPATH:
C:\Program Files\QGIS 3.6\bin;
C:\Program Files\QGIS 3.6\apps\Python37\lib;
C:\Program Files\QGIS 3.6\apps\qgis\bin;
C:\Program Files\QGIS 3.6\apps\qgis\python;
C:\Program Files\QGIS 3.6\apps\qgis\python\qgis;
C:\Program Files\QGIS 3.6\apps\Python37\Lib\site-packages;
C:\Program Files\QGIS 3.6\apps\Python37\DLLs;
C:\Program Files\QGIS 3.6\apps\qgis-ltr\bin;
C:\Program Files\QGIS 3.6\apps\Python37\Scripts

同样,PYTHONHOME设置如下,注意那个路径要设置到python37下,而不是qgis的bin下:

PYTHONHOME:
C:\Program Files\QGIS 3.6\apps\Python37\

因为qgis3.6/bin下的python.exe是2.7版本的,否则python命令时候会报错如下:
在这里插入图片描述
如下图,要保证第一个是Python37下的才行
在这里插入图片描述

2.2 qgis配置

先安装三个插件:

plugin builder 3  生成python插件的模板
Plugin Reloader 重载的工具,调试的时候避免重启qgis
Remote Debug 调试工具,用于链接eclipse的pydev进行调试

如图
在这里插入图片描述
并且将setting里的Show also experimental plugins勾选上,这样后面自己建的插件才能加载调试。

PS:qgis3.6的plugins安装位置:C:\Users\Administrator\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins
这个与2.*的都不一样
如图:

在这里插入图片描述
然后配置pydev的路径,也就是前面eclipse里安装后的pysrc的路径(在线离线的路径区别看步骤1.2)
在这里插入图片描述

3、PyQt5相关安装、环境配置

3.1安装

其实qgis3.6.3安装的时候已经自带了,如果不是这个版本继续往下看。。。反正我开始没看到,愣是操作了一遍o(╥﹏╥)o
两个需要安装:
注意版本号的匹配,一般qgis3.6.3就都是最新版,我这只是举个栗子~~~
- PyQt5 qt的组件

(1)在线安装(默认最新版):
pip install PyQt5
(2)离线安装
下载whl文件
https://pypi.org/project/PyQt5/5.9.2/#files
在这里插入图片描述
cmd进入C:\Program Files\QGIS 3.6\apps\Python37\Scripts目录,执行命令:

pip install PyQt5-5.9.2-5.9.3-cp35.cp36.cp37-none-win_amd64.whl

- PyQt5-tools 用于UI设计

(1)在线安装

pip install PyQt5-tools -i http://pypi.douban.com/simple --trusted-host=pypi.douban.com

(2)离线安装
https://pypi.org/project/pyqt5-tools/5.11.3.1.4/#files
在这里插入图片描述
cmd进入C:\Program Files\QGIS 3.6\apps\Python37\Scripts目录,执行命令:

pip install pyqt5_tools-5.11.3.1.4-cp37-none-win_amd64.whl

安装后文件在如下目录中:C:\Program Files\QGIS 3.6\apps\Python37\Lib\site-packages\pyqt5_tools

PS1:安装PyQt5,需要先安装sip,安装方式:pip3 install sip qgis3.6默认安装了,所以可以不用装
PS2:python2, python3共存时,使用pip会出现如下错误:Unable to create process using '"c:\osgeo4~1\bin\python
在这里插入图片描述
可进入scripts目录下使用如下命令:

python3 -m pip install --upgrade pip

然后就可以使用pip或者pip3命令了

3.2pyqt5配置环境变量

QT_QPA_PLATFORM_PLUGIN_PATH

C:\Program Files\QGIS 3.6\apps\Python37\Lib\site-packages\PyQt5\Qt\plugins(自己安装)
C:\Program Files\QGIS 3.6\apps\Qt5\plugins(qgis3.6自带)

验证是否成功:cmd里python之后输入import PyQt5,如图:
在这里插入图片描述

4、pycharm的开发配置

简单粗暴,直接上图,注意参数也要配置~~~
(1)Qtdesigner
这个就是用来ui设计的了
在这里插入图片描述
使用方式就是在如图中就可以打开qtui的设计界面了,也可以右键*.ui文件,Extenal Tools-Qtdesigner
在这里插入图片描述
在这里插入图片描述
(2)Pyuic5
用来将*.ui文件生产py文件的,没有这个qgis是无法加载自定义的插件的。

-o ui_$FileNameWithoutAllExtensions$.py $FileName$

在这里插入图片描述

(3)Pyrcc5
用来将资源文件生产py的,同2差不多意思。

-o $FileNameWithoutAllExtensions$.py $FileName$

在这里插入图片描述
PS:要注意的是qgis自带的pyuic5.bat、pyrcc5.bat有问题,需要修改的地方如图,增加双引号,否则报错。
在这里插入图片描述

5、最重要的配置

搞了这么久,想着自定义一个插件试试吧,用plugin builder 3创建一个自己的,具体可以参考官网或者网上,很简单。结果创建完提示pyrcc5无效。。。。使用不了。
照着网上的旧版本教程和官网,最后在一个国外的网站上找到办法,这个是转码给gis的问题网站,类似stackoverflow,挺不错的
https://gis.stackexchange.com/questions
方法是在两个bat里增加如下代码

@echo off
call "C:\Program Files\QGIS 3.6\bin\o4w_env.bat"
call "C:\Program Files\QGIS 3.6\bin\qt5_env.bat"
call "C:\Program Files\QGIS 3.6\bin\py3_env.bat"
@echo on

如图:
在这里插入图片描述
看了下里面的命令,都是配置系统变量之类的,这样的话前面系统变量应该可以不用手动配置了,执行这三个文件自动配置就好了
然后可以cd到plugins目录下(C:\Users\Administrator\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\test)执行编译:

  • 编译UI到py文件:

    pyuic5 -o ui_Test.py Test_dialog_base.ui

  • 编译资源文件:

    pyrcc5 -o resources.py resources.qrc

然后打开qgis,发现自定义的plugins已经安装好了。。。
在这里插入图片描述

6、插件的调试

前面说了这么多,终于可以调试了

6.1 qgis里打开Remote Debug

在这里插入图片描述
配置如图:
在这里插入图片描述

6.2 eclipse进入pydev的调试模式

操作如图
在这里插入图片描述
然后返回到qigs里,点击Remote Debug界面的Connect按钮,链接成功就可以点击自己的plugins了,发现进入断点了。。。。

PS1:注意卸载机器上其他版本的qgis和python,否则会出一些不知名的问题

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
配置Python环境以使用QGIS,您可以按照以下步骤进行操作: 1. 安装QGIS软件:首先,您需要下载并安装QGIS软件。您可以从QGIS官方网站(https://www.qgis.org)上找到适用于您操作系统的最新版本。 2. 安装PythonQGIS使用Python作为其脚本语言,因此您需要安装Python。请确保安装与您的操作系统和QGIS版本兼容的Python版本。在安装过程中,请记住选择将Python添加到系统路径中。 3. 安装PyQGIS:PyQGIS是用于在Python中访问和操作QGIS功能的库。您可以使用pip命令来安装PyQGIS。打开命令提示符(或终端)并运行以下命令: ``` pip install pyqgis ``` 这将自动下载并安装PyQGIS库及其依赖项。 4. 配置环境变量:为了使Python正确地与QGIS集成,您需要配置一些环境变量。打开您的系统环境变量设置,并将以下路径添加到您的PATH变量中(根据您的实际安装路径进行替换): - QGIS安装目录中的bin文件夹:例如,C:\Program Files\QGIS 3.x\bin - QGIS安装目录中的apps文件夹:例如,C:\Program Files\QGIS 3.x\apps - QGIS安装目录中的plugins文件夹:例如,C:\Program Files\QGIS 3.x\plugins 添加这些路径后,请确保将更改保存并关闭环境变量设置。 5. 测试安装:现在,您可以通过编写一个简单的Python脚本来测试您的安装是否成功。打开Python编辑器(例如,IDLE)并尝试导入PyQGIS: ```python from qgis.core import * ``` 如果没有出现错误,则说明您的配置已成功。您现在可以开始使用PythonQGIS进行交互了。 请注意,这只是一个基本的配置指南,并且可以根据您的操作系统和QGIS版本而有所不同。确保参考相关文档和资源以获取更详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值