前言:最近实习要求做一个QGIS插件,网上关于QGIS 3.14插件开发环境搭建的文档不多,而且也不算太全面。正好实习的时候写了一个文档,在这里给大家分享一下。

因为是Word转的Markdown,可能文章格式略有问题,不过没关系啦(。)


一、PyQGIS安装

在windows系统下,QGIS安装包会自动安装PyQGIS模块,本文以windows系统进行讲解。

实际上,如果使用新版本的QGIS for

Linux或Mac也会安装PyQGIS,可以参考QGIS官方文档。

二、Python环境变量配置

(1)配置Path

配置Python环境变量主要是为了从命令行运行python和调用pyqgis库。

先设置系统变量path,最好是放到最前面,防止被其他地方安装的python覆盖,如:

操作过程如系列图:此电脑(右键)—―属性→系统——高级系统设置→系统属性——环境变量→环境变量|系统变量

在系统变量中找到Path,点击编辑

添加环境变量:

D:\QGIS 3.14\bin

D:\QGIS 3.14\apps\qgis\bin

D:\QGIS 3.14\apps\Qt5\bin

(其中D:\QGIS 3.14 是你QGIS的安装位置)

(2)配置PYTHONPATH

PYTHONPATH主要是为了让Python能够找到PyQGIS的各种依赖模块,保证正常使用。

在系统变量中点击新建,新增名为PYTHONPATH系统变量。

变量值设置为:

D:\QGIS 3.14\apps\Python37;

D:\QGIS 3.14\apps\qgis\bin;

D:\QGIS3.14\apps\qgis\python;

D:\QGIS 3.14\apps\Python37\lib;

D:\QGIS 3.14\apps\Python37\Lib\site-packages;

D:\QGIS 3.14\apps\Python37\DLLs;

D:\QGIS 3.14\apps\Python37\Scripts;

(其中D:\QGIS 3.14是你的qgis安装路径,python37是qgis自带python的版本)

(3)检查环境变量配置是否成功

Win+r 打开运行窗口,输入cmd启动命令提示行

输入python3或者python,运行python。该python版本应为qgis自带python版本。

然后输入:

import qgis.core

import qgis.user

import qgis.gui

import console

没有提示错误即为配置成功

三、使用QGIS构建插件项目

插件安装和构建插件项目的流程如下:

(1) 插件安装

打开QGIS,插件——

因为我们后面使用PyCharm开发,QGIS中Remote Debug这个工具可有可无。

(2)插件路径设置

在QGIS的设置-选项-系统中,找到环境一栏,勾选“使用自定义变量”,添加插件工作区路径。之后的插件需要生成到这个路径下,QGIS才能自动识别到。

例如我设置为:E:\QGIS_plugin_develop

(3)创建插件

https://www.osgeo.cn/qgisdoc/docs/pyqgis_developer_cookbook/plugins/index.html

创建插件工程

重新启动QGIS

这里的Class name是插件的类名,Plugin name是你的插件名,Moule

name是python模块的名称。如果只是开发练习,后面那些乱七八糟的随便填就好。

如果不想发布插件,只做练习使用,这里建议大家勾选Flag the plugin as

experimental选项

这里选择之前设置的插件工作区的路径,自动生成的插件模板就会放置于该目录下。

为了避免不必要的麻烦。插件生成完毕后,先不要加载插件,否则会提示缺少:

resources.py 文件

如果弹出以下对话框,也暂时先不管,咱们之后再处理。

这样插件项目模板创建好了,可以在刚才我们创建的目录下查看

四、搭建PyCharm开发环境

PyCharm有两种版本,一种是免费的Community版,一种是Professional版。

其中Pycharm Community版本不支持Remote

Debug。如果想要使用Pycharm的远程调试功能调用Pydev包(Pydevd-pycharm)进行调试,就需要安装Professional版本

JetBrains全家桶提供了学生授权供学生免费使用。只要使用大学的邮箱在其官网注册一个账号,然后申请学生授权就可以免费使用JetBrains的所有产品。

参考:https://jingyan.baidu.com/article/acf728fd862d44f8e510a385.html

当然,如果觉得自己不需要用到调试功能,下载Community版本也可。下面以Community版本讲解PyCharm的环境搭建。Professional版本的搭建过程也是一样的。

安装Pycharm Community流程,如下:

(1) 下载

官方网站 https://www.jetbrains.com/pycharm/

选择保存后,等待下载。

找到下载文件

(2)安装

双击安装文件。

选择安装目录,Pycharm需要的内存较多,建议将其安装在D盘或者E盘,不建议放在系统盘C盘:

create desktop

shortcut(创建桌面快捷方式):系统32位就选32-bit,系统64位就选64-bit。现在大多数都是64位了,不清楚系统类型:我的电脑=》右键=》属性

update path variable(restart needed)更新路径变量(需要重新启动):add launchers

dir to the path(将启动器目录添加到path中)。这里我建议大家添加到环境变量PATH。

update context menu(更新上下文菜单):add open folder as

project(添加打开文件夹作为项目)。可以不选。

create associations 创建关联:关联.py文件,双击都是以pycharm打开。

(3)PyCharm python解释器设置

打开安装好的PyCharm:

设置UI颜色

直接下一步即可

这里选择Open打开我们之前生成插件项目。然后File-Settings打开设置

打开设置后,找到python interpreter,点击右上角的设置Add

选择System Interpreter(这里不推荐大家自己构建虚拟环境),添加Python解释器:

D:\QGIS 3.14\apps\Python37\python.exe

(其中D:\QGIS 3.14是你的安装路径)

可以看到,PyCharm已经帮我们把相关的包引入进来了

(4)安装扩展工具

在Settings中选择Tools打开External Tools页面,点击+号添加扩展工具。

添加QtDesigner,用于编辑UI

Name:QtDesigner

Program:D:\QGIS 3.14\apps\Qt5\bin\designer.exe

Working directory:你的插件项目的目录

添加PyUIC(UI转换工具),用于将ui转换为py模块

Name:Pyuic

Program:D:\QGIS 3.14\apps\Python37\Scripts\pyuic5.bat

Arguments: $FileName$ -o $FileNameWithoutExtension$.py

Working directory:你的插件项目的目录

(其中Arguments相当于一段控制台命令,是调用pyuic5.bat的参数)

添加PyRCC(资源转换工具),用于将qrc转换为py模块

Name:Pyrcc

Program:D:\QGIS 3.14\apps\Python37\Scripts\pyrcc5.bat

Arguments: $FileName$ -o $FileNameWithoutExtension$.py

Working directory:你的插件项目的目录

(这里的Arguments也是同样的道理)

(5)创建resources.py和图形界面py文件

创建图形界面py文件:

找到项目目录下,扩展名为ui的文件(文件名根据你设置的插件模块名有所不同),右键External

Tools-Pyuic运行扩展工具

没有报错,并且在项目目录下出现同名的py文件则为转换成功。

同理,对resources.rcc的文件,右键选择右键External Tools-Pyrcc

(6)运行插件

万事俱备,打开QGIS,插件栏选择管理并安装插件。

在已安装的插件中找到并勾选我们的插件,然后运行我们的插件即可。

QGIS 3.14插件开发——Win10系统PyCharm开发环境搭建四步走的更多相关文章

  1. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  2. odoo开发环境搭建(四):python开发工具IDE pycharm配置

    odoo开发环境搭建(四):python开发工具IDE pycharm配置

  3. MAC系统 -java开发环境搭建

    MAC - java开发环境搭建 软件: jdk Intellij IDEA:java开发工具 maven:jar包管理 git :源码管理 sourceTree :源码管理GUI客户端 Studio ...

  4. CentOS下 pycharm开发环境搭建

    经过一系统列的折腾之后,我终于有高版本的python和我熟悉的输入法用了,下面来搭建pycharm下的python开发环境. 1.首先安装java jdk注意是JAVA 的JDK,不是JAVA VM什 ...

  5. Linux系统Go开发环境搭建

    Go 语言是由谷歌的科学家开发的,并开源的新语言,被誉为"21世纪的C语言",它的主要目标是将静态语言的安全性和高效性与动态语言的易开发性进行有机结合,达到完美平衡,从而使编程变得 ...

  6. MAC 系统java开发环境搭建教程

    1.在安装JDK之前,先查看下自己电脑是否已经安装了JDK. 打开终端,输入java -version并回车.     从上图中可以看出我们已安装了,JDK 8.如果这个版本是你需要的版本,可直接看4 ...

  7. CentOS下 pycharm开发环境搭建之无穷无尽的问题

    在上一篇的环境搭建中,表面上以为已经升级好python,安装好pycharm,并且可以用上了django框架,谁知道,谁知道,又是一断被虐的经历,我都要快恼羞成怒了. 在些记录一下我的经历. 1.首先 ...

  8. node在Fedora 22系统下开发环境搭建

    事实上,环境搭建在linux系统还是比較简单的,下载已经编译好的包,配置一下环境变量. 或者下载源代码,自己编译. 这里记录一下,主要是node版本号变化节奏很块的情况下.怎样配置一次环境变量就不要再 ...

  9. ubuntu14.04 LTS Python IDE专用编辑器PyCharm开发环境搭建

    https://www.zhihu.com/question/20381207   有哪些值得推荐的 Python 开发工具? 一 PyCharm下载 官网下载地址:https://www.jetbr ...

随机推荐

  1. 题解0007:小木棍(P1120)

    (错误记录) 题目链接:https://www.luogu.com.cn/problem/P1120 题目描述:几根同样长的木棍,小冥把它们随意砍成了n段: 然后他又吃饱了撑的想把木棍拼上: 但是这个 ...

  2. Unity-2D

    Unity-2D 1.Unity中的2D模式: 1)游戏在二维上展示 启用 2D 模式时将会设置正交(即无透视)视图:摄像机沿 Z 轴观察,而 Y 轴向上增加.因此可以轻松可视化场景并放置 2D 对象 ...

  3. idea使用技巧、心得1

    0.安装idea之后的准备 (1) 永久快乐使用:在我的博客搜索安装idea关键词既可 (2) 取消更新: (3) idea 官网的关于idea的使用手册:https://www.jetbrains. ...

  4. Linux 下通过ping判断机器有没有外网。(不用root)

    背景: 想实现一个判断当前系统有没有外网的方法,想到了两种思路: 1)实现一个ICMP协议.但是这个需要root权限才能运行.可以参考:https://www.cnblogs.com/xcywt/p/ ...

  5. 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应, 请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法, 参数不同时,方法能重载吗?

    Dao 接口即 Mapper 接口.接口的全限名,就是映射文件中的 namespace 的值: 接口的方法名,就是映射文件中 Mapper 的 Statement 的 id 值:接口方法内的 参数,就 ...

  6. Java并发机制(4)--ThreadLocal线程本地变量(转)

    个人理解: 说明:看了博客园中大神写的ThreadLocal的详解,感觉还是有些迷糊,下面用自己的理解简单描述下ThreadLocal的机制(难免有误): 1.首先ThreadLocal用于存储对应线 ...

  7. mac终端所有命令不能用

    最近一次在用终端敲命令的时候发现命令总是不执行(只有cd命令可以正常执行),返回命令未识别的错误-bash: source: command not found 相信很多朋友也会遇到类似的问题. 解决 ...

  8. 如果有大量的 key 需要设置同一时间过期,一般需要注意什么?

    如果大量的 key 过期时间设置的过于集中,到过期的那个时间点,redis 可能 会出现短暂的卡顿现象.一般需要在时间上加一个随机值,使得过期时间分散一 些.

  9. spring-boot-learning自动配置原理

    启动器: spring-boot-starter:spring-boot场景启动器,帮我们倒入我们场景需要的组件依赖 不同的场景有不同的启动器: spring-boot-starter-web     ...

  10. CKEditor禁用浏览服务器的功能

    在CKeditor的config.js文件中,添加以下内容,重启服务器,图片.flash.video中的浏览服务器按钮就会消失掉 /*按下" 浏览服务器"按钮时应启动的外部文件管理 ...