QGIS3.10配置python插件开发环境

本文内容为QGIS3.x以上版本在windows下进行python插件开发环境及调试环境的配置,详细描述如何使用Eclipse + PyDev搭建PyQGIS插件开发的调试环境。官网中有相关的配置文档,但我想吐槽的是官网文档写得很简单而且挖了很多坑。本文是在官网的基础上,同时借鉴别人写的配置文档,再根据自己的环境部署进行编写,更加详细,意在填补官网文档挖的各式各样的坑。

PyQGIS安装

在windows系统下,QGIS安装包会自动安装PyQGIS模块,如果使用Linux或者Mac系统的话,则需要单独安装。(本文重点讲述Windows系统,Linux和Mac系统环境配置请参见QGIS官方网站的帮助文档)

环境变量设置

1.PATH 变量的配置

使用OSGeo4W的,以下设置:
…\OSGeo4W64\apps\Python37;
…\OSGeo4W64\bin;
…\OSGeo4W64\apps\qgis\bin;

使用安装包的,以下设置(本教程示例将使用安装包方式):
…\QGIS 3.10\apps\Python37;
…\QGIS 3.10\bin;
…\QGIS 3.10\apps\qgis\bin;

先设置系统变量path,要把qgis目录下的python37文件夹也放进去(切记要放到最前面,防止被其他地方安装的python覆盖),如图:
在这里插入图片描述
需要注意的是,红框内最上面的两个路径最好放在PATH变量的最前面,否则其他路径下存在Python或者QGIS模块的话,会引起冲突。

2. PYTHONPATH 变量的配置

PYTHONPATH变量的配置是为了让Python能够找到PyQGIS的各种依赖模块,保证代码中的模块正常使用。
主要有几个路径需要配置(注意下面的路径是你QGIS安装的位置,如果不是,你需要自行更改)
D:\Program Files\QGIS 3.10\apps\Python37;
D:\Program Files\QGIS 3.10\apps\Python37\lib;
D:\Program Files\QGIS 3.10\apps\qgis-ltr\bin;
D:\Program Files\QGIS 3.10\apps\qgis-ltr\python;
D:\Program Files\QGIS 3.10\apps\qgis-ltr\python\qgis;
D:\Program Files\QGIS 3.10\apps\Python37\lib\site-packages;
D:\Program Files\QGIS 3.10\apps\Python37\DLLs;

这是我的本地环境截图,供大家参考。
在这里插入图片描述
同样,PYTHONHOME设置如下,注意那个路径要设置到python37下,而不是qgis的bin下:
D:\Program Files\QGIS 3.10\apps\Python37\

环境配置检查

完成了上述的配置之后,通过从命令行窗口输入python,并import qgis.core, import qgis.user, import console等,如果没有报错,就说明环境配置好了。
反之,如果输出找不到模块之类的错误,就应该继续添加相应路径到PYTHONPATH里面。
在这里插入图片描述
按照上文所述的操作之后,基本上就可以开始编写PyQGIS程序了。但是编程过程中,调试是一个非常方便的工具,为了使用调试器,我们需要用到eclipse+pydev。

PyDev插件安装与配置

首先下载并安装Eclipse,在Eclipse的菜单栏上选择“Help -> Install New Software”。
在这里插入图片描述
在弹出窗口的“Work with”栏,填写网址 http://www.pydev.org/updates 。有些版本的Eclipse可以直接选择“Work with”这一栏的下拉按钮,弹出PyDev的安装网址。总之,填上就行。然后再弹出的资源里面选择“PyDev for Eclipse”就可以了,剩下的“PyDev for Eclipse Developer Resources”以及“PyDev Mylyn Integration”选择性安装即可,不是必须
在这里插入图片描述
需要注意的是,安装需要Java 8的支持,否则装上的PyDev插件不会出现在菜单栏上。

配置PyQGIS解释器

打开Eclipse,在菜单栏中选择“Window -> Preferences”,打开选项配置窗口。
在选项配置窗口左边树形菜单依次选择 “PyDev -> Interpreters -> Python Interpreter”,在调出的Python Interpreters面板,单击“New”按钮,新建一个解释器,并按照如下图所示填写QGIS安装路径下的 python.exe 位置。
在这里插入图片描述
然后,在Forced Builtins面板新建一个“qgis”变量,这样在写代码的时候会有QGIS库的自动补全功能。
在这里插入图片描述

配置QGIS桌面端

qgis桌面端的配置主要包含2个部分,一个是安装插件,另一个是应用程序环境变量配置。

插件安装

要安装调试相关的插件,必须现在QGIS插件管理器中,打开“启用实验插件”这个选项,否则在插件管理器中是看不到调试相关的插件的。
依次选择QGIS菜单栏“Plugins ­> Manage and Install Plugins”,在弹出的窗口中选择“Settings ­> Show also experimental plugins”,如下图:
在这里插入图片描述
接下来搜索并安装Remote Debug插件和Reload插件。其中,Remote Debug插件是为了连接Eclipse进行远程调试的。而Reload插件则是用于重新加载插件,避免重启QGIS来达到重载的目的。
在这里插入图片描述

应用程序运行环境配置(重点)

非常重要的一点是,要把PyDev插件中的pysrc路径加入到QGIS运行环境中。在我的的电脑上,这个路径是:
D:\eclipse\plugins\org.python.pydev.core_7.6.0.202006041357\pysrc

这个应用程序运行环境可以在QGIS桌面端的“Settings ­> Options ­> System ­>
Environment”中配置,如下图:
在这里插入图片描述

联动调试

在Eclipse中的右上角,点击箭头所指图标,添加Debug选项,open后就在右边出现debug,点击它就会切换到调试视图。
在这里插入图片描述
在这里插入图片描述
在你的调试代码中打上一个短点(这里我把断点打在了代码文件的33行)。
在这里插入图片描述
选择菜单栏“PyDev -> Start Debug Server”,当Console窗口出现“Debug Server at port: xxxx”出现的时候,就表示当前调试服务器已经启动了。
在这里插入图片描述
在这里插入图片描述
注意:有可能在PyDev里找不到Start Debug Server,这是因为在Action Set Availability中没有启用PyDev Debug选项,选择菜单栏“Windows -> Customize Persperctive->Action Set Availability,勾选PyDev Debug,然后点击Apply and Close:
在这里插入图片描述
切换到QGIS软件,选择Remote Debug插件,在pydevd path里填上路径:D:\eclipse\plugins\org.python.pydev.core_7.7.0.202008021154\pysrc
并单击connect按钮,当QGIS窗体弹出连接成功的消息通知,就表示连接上调试服务器了。
在这里插入图片描述
在这里插入图片描述

这时候,单击“Plugins -> HelloWorld”插件,切换到Eclipse就会看到,代码在断电处停下来了,接下来就可以使用Eclipse的调试功能进行代码调试了。
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值