PyCharm'ı QGIS kitaplıklarıyla çalışacak şekilde yapılandırma

Aug 15 2020

Anita Graser'ın gönderileri Anita Graser vehttps://gis.stackexchange.com/questions/302774/ OSGeo4W64 QGIS 3.14 kurulumumdaki QGIS kitaplıklarına erişmek ve onlarla çalışmak için PyCharm kurulumumu kurmaya çalışırken

Gerekli olan pygis.cmd ve pycharm.cmd dosyalarını oluşturdum ve yapmaları gerekeni yapıyor gibi görünüyorlar. Pycharm.cmd'im PyCharm'ı başarıyla başlatıyor

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

Ancak, takip edilmesine rağmen https://gis.stackexchange.com/questions/302774/ Bu hata mesajını görmeye devam ediyorum

Qt Eklenti Yolumu doğru bir şekilde ayarladığımdan eminim. 302774 sonrası şunları eklemeyi önerir:

set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins  

pycharm.cmd dosyasında

Biri nerede yanlış yapacağım konusunda tavsiyede bulunabilir mi? Diğerlerinin yanı sıra "Ben W" nin bu soruyu 302774 gönderisinde başkalarına yardım ettiği için görmesini umuyorum, ancak 2020'de benim için işe yaramıyor. Öyleyse belki de kurulumda QGIS'in sonraki sürümleri için gerekli olan başka anormallikler var mı?

Yanıtlar

1 BenW Aug 16 2020 at 16:49

Qt eklenti yolunuz iyi görünüyor. Şu anda kullandığım toplu iş dosyası aşağıdadır. Bunu yeni kurulmuş bir QGIS 3.14.15 (OSGeo4W kurulumu) ile test ettim ve herhangi bir hata almıyorum. Deneyebilir ve sizin için işe yarayıp yaramadığını görebilirsiniz.

* Not: Bir süredir PyCharm yerine PyScripter kullanıyorum, ancak gerçekten bir fark yaratmamalı. Bunun yerine PyCharm'ı başlatmak için son satırı değiştirin.

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

PyScripter'ı bu toplu iş dosyası ile başlatarak aşağıdakileri hatasız çalıştırabilirim.

QGIS kitaplıklarını test etmek için:

from qgis.core import *
QgsApplication.setPrefixPath("C:/OSGeo4W/apps/qgis", True)
qgs = QgsApplication([], False)
qgs.initQgis()
qgs.exitQgis()

Ve PyQt'u test etmek için:

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()