如何修复(导入错误:DLL加载失败时,导入QtCore)为一个独立的python应用程序在VS代码使用qgis.core?

w41d8nur  于 2023-01-01  发布在  Python
关注(0)|答案(1)|浏览(669)
    • 我的项目工具**我正在使用Python 3.9.5(标签/v3.9.5:0a7dcbd,2021年5月3日,17:27:52)[MSC v.1928 64位(AMD64)]我正在使用QGIS 3.28.2 IDE:VS代码I遵循了定位压力机上的指南。
    • The Want**我正在尝试接收大型正射影像(〉10GB),压缩它们(〈250MB),然后使用QGIS GUI显示它们,最后使用一些遮罩和提取工具操作它们。

我需要的是有人告诉我如何设置我的环境和IDE来导入QGIS库。

    • 错误代码**
PS C:\Users\pkmos\OneDrive\Desktop\DIYGIS> & "C:/Program Files/QGIS 3.28.0/bin/python.exe" c:/Users/pkmos/OneDrive/Desktop/DIYGIS/appl.py
Traceback (most recent call last):
  File "c:\Users\pkmos\OneDrive\Desktop\DIYGIS\appl.py", line 2, in <module>
    import qgis
  File "C:\Program Files\QGIS 3.28.0\apps\qgis\python\qgis\__init__.py", line 78, in <module>
    from qgis.PyQt import QtCore
  File "C:\Program Files\QGIS 3.28.0\apps\qgis\python\qgis\PyQt\QtCore.py", line 24, in <module>
    from PyQt5.QtCore import *
ImportError: DLL load failed while importing QtCore: The specified procedure could not be found.

"剧本"

import sys
import qgis

from PyQt5.QtWidgets import QApplication, QWidget, QLabel

def window():
   app = QApplication(sys.argv)
   widget = QWidget()

   textLabel = QLabel(widget)
   textLabel.setText("Hello World!")
   textLabel.move(110,85)

   widget.setGeometry(50,50,320,200)
   widget.setWindowTitle("PyQt5 Example")
   widget.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   window()
    • 环境**
PATH=$PATH;"C:\OSGeo4W\bin";"C:\OSGeo4W\apps\qgis";"C:\OSGeo4W\apps\qgis\bin";"C:\OSGeo4W\apps\Qt5\bin";"C:\OSGeo4W\apps\Python39\Scripts";"C:\OSGeo4W\apps\Qt5\bin"
PYTHONPATH="C:\OSGeo4W\apps\qgis\python"
PYTHONHOME="C:\OSGeo4W\apps\Python39"
    • 工作空间**
{
    "folders": [
        {
            "name": "app",
            "path": "C:/Users/pkmos/OneDrive/Desktop/DIYGIS"
        }
    ]
}
    • 进度**我已经使用GDAL库解决了压缩问题。但是QGIS GUI在我的独立应用程序中无法打开。我尝试了许多不同的文件夹添加到系统环境变量中。我将发布一些图片来向您展示我们正在处理的问题。我已经检查了以确保我使用的是正确版本的QGIS和Python。

Path
PYTHONPATH
Folder 2
Folder 3
Folder 4
Folder 5
Folder 6

    • 我需要的帮助**我的技能非常少:(.如果有人能给我指出正确的方向来设置我的IDE VS代码来导入qgis. core库,我想我可以构建程序的其余部分。我如何创建正确的环境来制作一个使用QGIS GUI的独立python应用程序?
7gyucuyw

7gyucuyw1#

好吧,所以我可能在这个问题上工作了5个小时,然后才张贴在这里,然后我想我刚刚找到了答案。
我用这段代码创建了一个bat文件并运行它,然后打开我原来的appl.py文件并运行它,它打开了带有hello world的GUI窗口。

@echo off
path %PATH%;C:\Program Files\QGIS 3.28.0\bin
path %PATH%;C:\Program Files\QGIS 3.28.0\apps\grass\grass78\lib
path %PATH%;C:\Program Files\QGIS 3.28.0\apps\Qt5\bin
path %PATH%;C:\Program Files\QGIS 3.28.0\apps\Python39\Scripts

set PYTHONPATH=%PYTHONPATH%;C:\Program Files\QGIS 3.28.0\apps\qgis\python
set PYTHONHOME=C:\Program Files\QGIS 3.28.0\apps\Python39

start "VisualStudioCode for QGIS" /B "C:\Users\pkmos\AppData\Local\Programs\Microsoft VS Code\Code.exe" %*

因此,如果有人仍然想评论并告诉我所有我做错的事情,以及我如何不知道什么是环境变量,请这样做。
我希望这对其他像我一样的新手有帮助!

相关问题