4
import os, sys
sys.path.append(r'C:\Program Files\QGIS 3.6\apps\qgis\python')
sys.path.append(r'C:\Program Files\QGIS 3.6\apps\qgis\bin')
sys.path.append(r'C:\Program Files\QGIS 3.6\apps\Python37')
sys.path.append(r'C:\Program Files\QGIS 3.6\apps\Python37\Scripts')
sys.path.append(r'C:\Program Files\QGIS 3.6\apps\Qt5\bin')
sys.path.append(r'C:\Program Files\QGIS 3.6\apps\Python27\Scripts')
sys.path.append(r'C:\Program Files\QGIS 3.6\bin')
sys.path.append(r'C:\Windows\System32')
sys.path.append(r'C:\Windows')
sys.path.append(r'C:\Windows\System32\wbem')
sys.path.append(r'C:\Program Files\QGIS 3.6\apps\Python37\Lib\site-packages\pywin32_system32')
sys.path.append(r'C:\Program Files\QGIS 3.6\apps\Python37\Lib\site-packages\numpy\.libs')
import qgis

I would like to write a standalone QGIS application. My Python file is on the desktop and I would like to access the QGIS functions. At the beginning I had the error import qgis module not found, which could be solved by the first line of sys.path.append. Now I get the error:

from PyQt5.QtCore import *
ModuleNotFoundError: No module named 'PyQt5.QtCore'

Although I have appended many different paths to the environment variables, I keep getting this error.

How do I solve this error and use the QGIS functions in a standalone application?

Error trying the anwser: Error

4

1 Answer 1

4

You must be using different Python from the installed one by QGIS installation. When I try to run the script using a different Python interpreter (C:\Program Files\Python37\python.exe) not installed by QGIS I get the same error.

To be sure this is the reason:

  • Add print("DONE!") after the line import qgis in your script above.

  • Save the script as a Python file. (for example, test.py in C:\test folder)

  • Open OSGeo Shell.

    enter image description here

  • Run py3_env.

    enter image description here

  • Run python c:\test\test.py.

You probably won't get error and it will print DONE!. That means you didn't use the Python interpreter installed by QGIS.

To solve this, either run the .py file in "OSGeo Shell" as mentioned above or set Python environment for the editor you use. For example, you have an option to select a Python interpreter in VSCode editor before running the file.

5
  • Yeah I know I did this already ! But for me its necessary to get QGIS running in a not QGIS-python-environment, because I want to transfer the standalone application to another computer. Apr 22, 2021 at 6:32
  • Or can you help me writing a batch-file maybe to automatically open the OSGeo4W Shell and run this needed commands ? I just tried doing that, but failed again. Apr 22, 2021 at 10:21
  • and I also get an error, when I try to do it like that, I added the error in my original question ! Apr 22, 2021 at 10:28
  • I don't encounter that error. I have no solution. You can check these search results. There are different solutions for that error in GIS.SE. Apr 22, 2021 at 11:36
  • I already checked every page there :D I really dont know whats going wrong there Apr 22, 2021 at 12:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.