簡體   English   中英

如何使用 qgis.core 修復 VS Code 中獨立的 python 應用程序(導入錯誤:DLL 加載失敗)?

[英]How do I fix (ImportError: DLL load failed while importing QtCore) for a standalone python application in VS Code using qgis.core?

我正在使用的項目工具Python 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] 我正在使用 QGIS 3.28.2 IDE : VS Code 我按照 locate press 上的指南進行操作。

想要獲取大型正射影像 (>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。

小路

蟒蛇路徑

文件夾 2

文件夾 3

文件夾 4

文件夾 5

文件夾 6

我需要的幫助我的技能很少:(。如果有人能給我指出正確的方向來設置我的 IDE VS 代碼以導入 qgis.core 庫,我想我可以構建程序的 rest。我如何創建制作使用 QGIS GUI 的獨立 python 應用程序的正確環境?

好吧,我可能在發帖之前獨自解決了這個問題 5 個小時,然后我想我剛剛找到了答案。

我用這段代碼創建了一個 bat 文件並運行它,然后打開我原來的 appl.py 文件並運行它,它打開了帶有 hello world 的 GUI window。

@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" %*

因此,如果有人仍然想發表評論並告訴我我做錯的所有事情以及我如何不知道環境變量是什么,請這樣做。

我希望這能幫助像我這樣的其他菜鳥!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM