Định cấu hình PyCharm để hoạt động với các thư viện QGIS
Tôi đã theo dõi các bài đăng và hướng dẫn khác nhau bao gồm các bài đăng của Anita Graser, Anita Graser vàhttps://gis.stackexchange.com/questions/302774/ khi tôi cố gắng thiết lập cài đặt PyCharm của mình để truy cập và làm việc với các thư viện QGIS trong cài đặt OSGeo4W64 QGIS 3.14 của tôi
Tôi đã tạo các tệp pygis.cmd và pycharm.cmd được yêu cầu và chúng dường như thực hiện những gì cần thiết. Pycharm.cmd của tôi khởi chạy thành công PyCharm
> @echo off
SET OSGEO4W_ROOT=C:\OSGeo4W64
call "%OSGEO4W_ROOT%"\bin\o4w_env.bat
call "%OSGEO4W_ROOT%"\bin\qt5_env.bat
call "%OSGEO4W_ROOT%"\bin\py3_env.bat
call "%OSGEO4W_ROOT%"\apps\grass\grass78\etc\env.bat
@echo off
rem path %PATH%;%OSGEO4W_ROOT%\apps\qgis
path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin
path %PATH%;%OSGEO4W_ROOT%\apps\grass\grass78\lib
path %PATH%;C:\OSGeo4W64\apps\Qt5\bin
rem path %PATH%;C:\OSGeo4W64\apps\qgis\python\plugins
path %PATH%;C:\OSGeo4W64\apps\Python37\Scripts
rem path %PATH%;C:\OSGeo4W\apps\Python37
set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37
set PATH=C:\Program Files\Git\bin;%PATH%
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\Qt5\plugins
start "PyCharm aware of QGIS" /B "C:\Users\b8060507\AppData\Local\JetBrains\PyCharm Community Edition 2019.3.3\bin\pycharm64.exe"
Tuy nhiên, mặc dù sau https://gis.stackexchange.com/questions/302774/ Tôi tiếp tục nhận được thông báo lỗi này hiện lên
Tôi chắc chắn rằng tôi đã đặt Đường dẫn Plugin Qt của mình một cách chính xác mà bài đăng 302774 khuyên nên bao gồm:
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
trong tệp pycharm.cmd
Bất cứ ai có thể đưa ra một số lời khuyên về nơi tôi có thể sai? Tôi hy vọng 'Ben W' trong số những người khác có thể thấy câu hỏi này vì lời khuyên của anh ấy đã giúp những người khác trong bài đăng 302774 nhưng nó không hoạt động với tôi vào năm 2020. Vì vậy, có lẽ có những điểm bất thường khác trong thiết lập hiện cần cho các phiên bản sau của QGIS?
Trả lời
Đường dẫn plugin Qt của bạn có vẻ ổn. Dưới đây là tệp hàng loạt mà tôi hiện đang sử dụng. Tôi đã thử nghiệm điều này với QGIS 3.14.15 (cài đặt OSGeo4W) mới được cài đặt và tôi không gặp bất kỳ lỗi nào. Bạn có thể thử nó và xem nó có phù hợp với bạn không.
* Lưu ý: Tôi đã sử dụng PyScripter thay vì PyCharm trong một thời gian, nhưng nó thực sự không tạo ra bất kỳ sự khác biệt nào. Chỉ cần thay đổi dòng cuối cùng để bắt đầu PyCharm thay thế.
@echo off
SET OSGEO4W_ROOT=C:\OSGeo4W64
call "%OSGEO4W_ROOT%"\bin\o4w_env.bat
call "%OSGEO4W_ROOT%"\bin\qt5_env.bat
call "%OSGEO4W_ROOT%"\bin\py3_env.bat
@echo off
path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin
path %PATH%;C:\OSGeo4W64\apps\Qt5\bin
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/qgis
set GDAL_FILENAME_IS_UTF8=YES
rem Set VSI cache to be used as buffer, see #6448
set VSI_CACHE=TRUE
set VSI_CACHE_SIZE=1000000
set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
start "PyScripter aware of QGIS" /B "C:\Program Files\PyScripter\PyScripter.exe"
Khởi động PyScripter bằng tệp loạt này, tôi có thể chạy phần sau mà không gặp lỗi.
Để kiểm tra các thư viện QGIS:
from qgis.core import *
QgsApplication.setPrefixPath("C:/OSGeo4W/apps/qgis", True)
qgs = QgsApplication([], False)
qgs.initQgis()
qgs.exitQgis()
Và để kiểm tra PyQt:
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
class MyDialog(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setGeometry(250, 250, 500, 350)
def main():
app = QApplication(sys.argv)
w = MyDialog()
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()