安装

  • QGIS(默认配置即可)
  • VSCode
    • Python扩展

系统变量配置

本文以<QGIS>来代表你的QGIS安装路径。

请注意,不同版本的QGIS自带的Python以及上述文件的路径可能不同。
例:我使用的RC版的qgis路径为<QGIS>\apps\qgis;而LTR版的路径为<QGIS>\apps\qgis-ltr

  1. 在环境变量path内添加QGIS内的qgis和Python的路径:

    <QGIS>\apps\Python39
    <QGIS>\apps\qgis\bin
    <QGIS>\bin
    

    这步的目的是让系统能获取到Python解释器的位置,我直接在VSCode内定位了就跳过了这一步就没写🙃

  2. 创建环境变量PYTHONPATH,并将QGIS内的qgis和Python的路径写入:

    <QGIS>\apps\qgis\bin
    <QGIS>\apps\qgis\python
    <QGIS>\apps\qgis\python\bin
    <QGIS>\apps\Python39\DLLs
    <QGIS>\apps\Python39\Lib
    <QGIS>\apps\Python39\Lib\site-packages
    <QGIS>\apps\Python39\Scripts
    
  3. 这个时候如果打开.py并能正确引入from qgis.core import *就算成功啦。

代码参考

"""
# 本地输入获取
import os
import sys

sys.stdin = open("data\\io.in", "r")
sys.stdout = open("data\\io.out", "w")
"""

# 引入 PyQGIS库
from qgis.core import *
# from qgis.gui import *
# from qgis.analysis import *
# from qgis.utils import *

# QGIS的安装路径
QGIS_PATH =
# 项目文件夹的路径
PROJECT_PATH =
"""
QGIS_PATH = "F:\\QGIS\\"
PROJECT_PATH = "S:\\OneDrive\\00 - ZJHU\\GIS\\SaltA\\"
"""

# 初始化QGIS资源
QgsApplication.setPrefixPath(QGIS_PATH, True)
qgs = QgsApplication([], False)
qgs.initQgis()

project = QgsProject.instance()
project.read(PROJECT_PATH + "sample.qgz")

# =====代码写在这里=====
print(project.fileName())
# =====代码写在这里=====

# 释放QGIS资源
qgs.exitQgis()