QGIS Python插件开发环境搭建--QGIS3.34.11+PyCharm

QGIS Python插件开发环境搭建--QGIS3.34.11+PyCharm

  • 安装QGIS
  • 启动QGIS并设置为中文
    • 启动QGIS
  • Python插件开发中用到的插件
  • 安装PyCharm社区版
  • 使用Plugin Builder 3生成插件模板
  • 加载插件
    • 打开QGIS插件路径
    • 将自己的插件拷贝到QGIS的python插件路径
  • 使用PyCharm打开插件代码
  • 配置Python解释器
  • 设置模块环境
  • 参考资料

安装QGIS

软件下载地址Long Term Version for Windows (3.34 LTR)
下载完成后,双击安装包,一直点下一步,直到安装完成即可。
记住自己的安装路径,默认路径为:C:\Program Files\QGIS 3.34.11
在这里插入图片描述
在这里插入图片描述

启动QGIS并设置为中文

启动QGIS

在这里插入图片描述
在这里插入图片描述
选择菜单 Settinngs->Options
在这里插入图片描述
选择General,在Override Ssytem Local复选框前打勾,按图示进行选择,设置完成后点击确定,并重启QIGS即完成汉化。
在这里插入图片描述
在这里插入图片描述

Python插件开发中用到的插件

  • Plugin reloader:不重启QGIS重新加载插件
  • First Aid:调试Python插件
  • Plugin Builder 3:生成插件模板
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

安装PyCharm社区版

PyCharm官网

软件下载地址PyCharm Community Edition

下载完成后,双击安装包,一直点下一步,直到安装完成即可。
在这里插入图片描述

使用Plugin Builder 3生成插件模板

选择Plugin Builder,启动模板生成。按照向导生成插件。
在这里插入图片描述
填写基本信息
在这里插入图片描述

选择插件模板,默认选择第一个,设置插件添加到哪个菜单下,这里默认添加在“plugins"菜单下。
在这里插入图片描述
选择插件保存路径,点击生成即可。
我保存到了C:/Users/Administrator/Documents/pythonPlugins目录下。

在这里插入图片描述
可以在文件夹中查看生成的插件。
文件夹中每个文件的介绍参考官方帮助文档:Structuring Python Plugins
在这里插入图片描述

加载插件

打开QGIS插件路径

选择菜单:设置->用户配置->打开当前配置文件夹。即可打开,我电脑启动的路径(仅供参考)为:
C:\Users\Administrator\AppData\Roaming\QGIS\QGIS3\profiles\default

在这里插入图片描述
在这里插入图片描述

在上一步打开的文件夹中,继续打开文件夹:python ->plugins,将自己的插件拷贝到此目录即可。
我的插件目录为(仅供参考):

C:\Users\Administrator\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins

在此目录中同样能看到已经安装好的插件。
在这里插入图片描述

将自己的插件拷贝到QGIS的python插件路径

例如我生成的插件名称为”myplugin",将“myplugin”整个文件夹拷贝到plugins目录中。
在这里插入图片描述
重启 QGIS,即可在插件列表中看到自己的插件。
勾选 自己开发的插件,即可在插件菜单中看到自己的插件
在这里插入图片描述
在这里插入图片描述

使用PyCharm打开插件代码

使用pyCharm打开自己的插件目录,例如:

C:\Users\Administrator\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\myplugin

直接打开安装后的插件目录,可以不用每次修改完代码后再拷贝到此目录
也可以用软连接(非快捷方式)的方式,将自己的目录连接到插件目录。
在这里插入图片描述

配置Python解释器

点击“设置”,打开设置界面。
在这里插入图片描述
点击“全部显示”,打开"Python 解释器"窗口。
在这里插入图片描述
点击”+“,添加解释器。
在这里插入图片描述
设置解释器虚拟环境,本次演示选择现有的解释器虚拟环境,也可以新建。
在这里插入图片描述
选择QGIS自带的Python解释器。
未修改安装路径的话,解释器路径为:

C:\Program Files\QGIS 3.34.11\apps\Python312\python.exe

点击“确认”。
在这里插入图片描述
点击“确认”。
在这里插入图片描述
添加“解释器路径”
在这里插入图片描述
添加如下路径:

C:\Program Files\QGIS 3.34.11\apps\qgis-ltr\python

参考资料:A note on configuring your IDE on Linux and Windows
添加完成后点击确定,保存所有配置。
在这里插入图片描述

设置模块环境

参考资料:Debugging using Pyscripter IDE (Windows)
找到QGIS启动脚本bat文件(和QGIS启动程序同名的bat文件)。
例如:QGIS启动文件为:

C:\Program Files\QGIS 3.34.11\bin\qgis-ltr-bin.exe

QGIS启动脚本bat文件为:

C:\Program Files\QGIS 3.34.11\bin\qgis-ltr.bat

复制QGIS启动脚本文件到本目录,并重命名为:PyCharm.bat,例如

C:\Program Files\QGIS 3.34.11\bin\PyCharm.bat

打开:PyCharm.bat,将python和qt5的路径添加到path环境变量中,并修改最后一行为启动PyCharm

删除一行

start "QGIS" /B "%OSGEO4W_ROOT%\bin\qgis-ltr-bin.exe" %*

添加两行

path %OSGEO4W_ROOT%\apps\Python312;%OSGEO4W_ROOT%\apps\Qt5\bin;%PATH%
start "pycharm64" /B "C:\Program Files\JetBrains\PyCharm Community Edition 2024.2.3\bin\pycharm64.exe" %*

保存并关闭“PyCharm.bat”
双击“PyCharm.bat”即可启动PyCharm。
打开MyPlugin.py,鼠标放到导入语句上,查看PyCharm自动感知到了QGIS API
在这里插入图片描述
至此,QGIS Python插件开发环境搭建完成。

参考资料

Developing Python Plugins
start 命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/484484.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

On-Chip-Network之router微架构的物理实现

Low-Power Microarchitecture 自20世纪90年代以来,功耗一直是嵌入式芯片和高性能芯片面临的一个挑战。自2000年代中期以来,它已经成为大多数设计的主要约束。多核解决了功耗问题,由此产生的communication substrate,namely the on…

java 21 多线程

1.相关概念 进程: 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们使用迅雷,又启动了一个进程,操作系统将为迅雷配新的内存空间。 进程是程序的一次执行过程&#…

Envoy-istio

最近研究envoy-istio,发现这个博客,觉得很不错,这里记录一下 envoy-istio介绍 envoy-istio - 随笔分类 - yaowx - 博客园 envoy部分七:envoy的http流量管理基础 envoy部分六:envoy的集群管理 envoy部分五&#xff…

【ETCD】ETCD用户密码认证

目录 概述 特殊用户和角色 root用户 root角色 用户操作 角色操作 启用身份验证 使用etcdctl进行身份验证 使用TLS通用名称 概述 etcd 2.1中增加了身份验证功能。etcd v3 API对身份验证功能的API和用户界面进行了轻微修改,以更好地适应新的数据模型。本指南…

蓝牙定位的MATLAB程序,四个锚点、三维空间

这段代码通过RSSI信号强度实现了在三维空间中的蓝牙定位,展示了如何使用锚点位置和测量的信号强度来估计未知点的位置。代码涉及信号衰减模型、距离计算和最小二乘法估计等基本概念,并通过三维可视化展示了真实位置与估计位置的关系。 目录 程序描述 运…

【计算机网络】实验4:生成树协议STP的功能以及虚拟局域网VLAN

实验 4:生成树协议STP的功能以及虚拟局域网VLAN 一、 实验目的 加深对生成树协议STP的功能的理解。 了解虚拟局域网VLAN。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、验证交换机生成树协议STP的功能 (1) 第一步:构建网络拓…

VMware官网下载

访问官网 https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion 跳转到broadcom 注册 -> 登录 拉到下面 选择版本 然后填写地址信息, 随便写写, 再回去点下载按钮, 就可以下载了

智慧地图聚合(LockMap)标注系统开发说明文档

智慧地图聚合(LockMap)标注系统开发说明文档 1. 系统概述 智慧地图聚合(LockMap)标注系统是一个专为处理大规模地理信息数据而设计的综合解决方案。通过后端高效的数据管理和前端直观的地图展示,该系统能够实现对海量地理位置点的有效可视化。本项目旨在提供一个用…

【大数据学习 | Spark-SQL】定义UDF和DUAF,UDTF函数

1. UDF函数(用户自定义函数) 一般指的是用户自己定义的单行函数。一进一出,函数接受的是一行中的一个或者多个字段值,返回一个值。比如MySQL中的,日期相关的dateDiff函数,字符串相关的substring函数。 先…

linux 服务器 一次性查看 CPU、内存和磁盘使用情况

创建 vi check_usage.sh #!/bin/bashecho " CPU 使用率 " mpstat -P ALL 1 1echo -e "\n 内存使用情况 " free -hecho -e "\n 磁盘使用率 " df -h执行授权 chmod x check_usage.sh执行查看 ./check_usage.sh这样可以快速获取系统资源的概览。…

一文理解多模态大语言模型——下

作者:Sebastian Raschka 博士, 翻译:张晶,Linux Fundation APAC Open Source Evangelist 编者按:本文并不是逐字逐句翻译,而是以更有利于中文读者理解的目标,做了删减、重构和意译&#xff0c…

数据结构---链表(2)---双向链表

链表(1)中讲过了在OJ题中出现很多并且能作为一些复杂数据结构子结构的不带头单向不循环链表,下面讲解应用很广很实用的带头双向循环链表。 三、双向链表---DoublyLinkedList 演示带头双向循环链表(实用)。 带头--->不需要对空链表继续单独判断;循环…

PH热榜 | 2024-12-04

1. Stackfix 标语:几秒钟内就能对比软件。 介绍:立刻就能对比不同软件的价格和功能。不用再费力看各种评测或接推销电话了。我们提供实时价格、并排对比,还有专家的推荐建议。 产品网站: 立即访问 Product Hunt: V…

分布式光伏电站如何实现监控及集中运维管理?

安科瑞戴婷 Acrel-Fanny 前言 今年以来,在政策利好推动下光伏、风力发电、电化学储能及抽水蓄能等新能源行业发展迅速,装机容量均大幅度增长,新能源发电已经成为新型电力系统重要的组成部分,同时这也导致新型电力系统比传统的电…

AD学习笔记·空白工程的创建

编写不易,禁止搬运,仅供学习,感谢理解 序言 本文参考B站,凡亿教育,连接放在最后。 创建工程文件 在使用AD这个软件的电路板设计中,有很多的地方跟嘉立创eda还是有不一样的地方,其中一个地方就…

基于Java Springboot生鲜食品订购微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…

【阅读笔记】Android广播的处理流程

关于Android的解析,有很多优质内容,看了后记录一下阅读笔记,也是一种有意义的事情, 今天就看看“那个写代码的”这位大佬关于广播的梳理, https://blog.csdn.net/a572423926/category_11509429.html https://blog.c…

第十三章 Linux计划任务

注意:进公司和有公司成员离职,一定要问计划任务,防止别人搞破坏背锅 13.1 一次性计划任务(atd服务) 1 安装 atd 服务 yum install -y at systemctl enable atd systemctl start atd ## 启动atd服务 systemctl status atd ## 查看atd服务…

Kali Linux使用Netdiscover工具的详细教程

Kali Linux使用Netdiscover工具的详细教程 引言 在网络安全和渗透测试的过程中,网络发现是一个至关重要的步骤。Netdiscover是Kali Linux中一个非常实用的网络发现工具,它可以帮助用户快速识别局域网中的活动设备。本文将详细介绍如何使用Netdiscover工…

EasyNVR中HTTP-FLV协议无法播放怎么解决?

在科技日新月异的今天,摄像头作为公共安全领域的重要一环,其技术的不断提升正显著地改变着社会的安全格局。从最初的简单监控到如今的高清智能分析,我们可以对特定区域进行实时监控和记录,为社会的安全稳定提供了强有力的保障。 问…