독립형 PyQGIS 스크립트를 작성할 때 가져 오기 qgis.core 문제


18

qgis.core 및 기타 다양한 qgis 라이브러리를 사용하는 Windows 7에서 독립형 Python 스크립트를 작성하려고합니다.

: 여기이 주제에 대한 오래된 질문 발견 쓰기 독립 파이썬 스크립트 PyQGIS를 사용하여? 다음 가이드를 사용하여 조언을 따르고 있습니다 : http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/intro.html#python-applications

제안 된 코드는 다음과 같습니다.

set PYTHONPATH=c:\qgispath\python

뒤에 :

set PATH=C:\qgispath;%PATH%

IDLE이 "시작에서 설정 한 것을 좋아하지 않는다는 것을 알았으므로 코드는 다음과 같습니다.

PYTHONPATH="C:\OSGeo4W64\apps\qgis\python"
PATH="C:\OSGeo4W64\apps\qgis\python\qgis\core;%PATH%"
import qgis.core

그리고 나는 얻는다 :

Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    import qgis.core
ImportError: No module named qgis.core

마지막에; % PATH % "를 제거하는 것을 포함하여 생각할 수있는 모든 경로의 변형을 시도했지만 (더 이상 불필요한 것처럼 보임) 더 이상 정보를 찾을 수 없었습니다. 잘못되어가는?

편집하다:

Luigi Pirelli의 의견을 본 후 이제 시도했습니다.

>>> PYTHONPATH="C:/OSGEO4~1/apps/qgis/./python\qgis"
>>> import qgis.core

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    import qgis.core
ImportError: No module named qgis.core
>>> PATH="C:\OSGeo4W64\apps\qgis\python\qgis\core;%PATH%"
>>> import qgis.core

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import qgis.core
ImportError: No module named qgis.core
>>> PATH="C:/OSGEO4~1/apps/qgis/./python\qgis\core;%PATH%"
>>> import qgis.core

Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    import qgis.core
ImportError: No module named qgis.core
>>> 

직면하고있는 정확한 문제를 간략하게 설명하는 방식으로 질문의 제목을 수정할 수 있습니까?
— SS_Rebelious

QGIS Python Console에서 "qgis"를 입력 할 수있는 값으로 PYTHONPATH를 설정하십시오. 값은 무엇입니까? 내 경우 : 'C : / OSGEO4 ~ 1 / apps / qgis-dev /./ python \ qgis_ init_ .pyc'> 에서 <module 'qgis' > => PYTHONPATH에 경로를 추가했습니다 : "C : / OSGEO4 ~ 1 / apps / qgis-dev /./ python \ qgis "
— Luigi Pirelli 님이

제목 수정, 감사합니다, 나는 이것을 시도하고 질문의 본문에 다시보고
— user24956

1
여전히 운이 없다, 나는 PATH와 PYTHONPATH의 많은 순열을 시도했지만 아무 소용이 없었다.
— user24956

답변:


12

OSGeo4W를 통해 QGIS를 설치 한 경우이 워크 플로우를 따르십시오 (Windows 7에서 방금 테스트 한 것임).

  1. OSGeo4W Shell을 엽니 다 . Start->All programs->OSGeo4W->OSGeo4W Shell.

  2. 환경 변수를 설정하십시오 . 내가 선호하는 방법은 OSGeo4W Shell 에서이 bat 파일 (2016.11.03 : 이 bat 파일 업데이트 )을 실행하는 것입니다 . 보시다시피, 파일은 다음과 같은 방식으로 환경 변수를 설정합니다.

    set PYTHONPATH=%OSGEO4W_ROOT%\\apps\\qgis\\python
    set PATH=%OSGEO4W_ROOT%\\apps\\qgis\\bin;%PATH%

    물론 OS에 해당 경로가 있는지 직접 확인하고 필요한 경우 조정해야합니다.

    따라서 .bat 파일을 다운로드하여 OSGeo4W Shell에서 액세스 한 후 Enter 키를 눌러 실행하십시오.

    여기에 이미지 설명을 입력하십시오

  3. 다음 방법 중 하나를 사용하여 PyQGIS 라이브러리를 가져 오십시오.

    ㅏ. 파이썬 인터프리터를 입력하십시오. pythonOSGeo4W Shell에서 실행 하고 라이브러리를 수동으로 가져 오십시오.

    여기에 이미지 설명을 입력하십시오

    비. 파이썬 스크립트를 실행하십시오. python my_pyqgis_script.pyOSGeo4W 쉘에서 실행하십시오 . 나는 매우 간단한 것으로 시작할 것이다 .

    여기에 이미지 설명을 입력하십시오

워크 플로우는 몇 년 전에 GeoTux 에 (스페인어로) 게시 되었으며 여전히 작동합니다. 보시다시피, 파이썬 스크립트에는 환경 변수를 포함시키지 않고 OSGeo4W Shell에서 설정합니다.


안녕하세요! 나는 그것에 대해 의심이있다. 왜 var_entorno_osgeo4w.bat입니까? 나는이 모든 줄을했지만이 부분에서 나에게 오류를 준다. 또한이 도움말 foruns를 읽었으며 여전히 import qgis.core 오류가 발생합니다 (osgeo4w 셸에서 실행).
— Bárbara Duarte

그것이 환경 변수를 설정하기 위해 제공하는 파일의 이름이기 때문입니다. 따라서 해당 .bat 파일이있는 폴더 (파일이있는 이미지에서 C:\dllo)로 이동하고 파일 이름을 작성하고 Enter를 눌러 .bat 파일을 실행하십시오.
— Germán Carrillo

위의 솔루션을 사용하려고했습니다-my_pygis_script.py를 실행하고 가져 오기 오류가 발생했습니다 : qgis.core라는 모듈이 없습니다. 이 문제를 어떻게 해결할 수 있습니까?
— kflaw

또한 pyscripter에서 수입 qgis.core로했는데, 나는 또 다른 가져 오기 오류 : 모금라는 이름의 모듈
— kflaw하지

1
여기에 제안 된 방법을 시도하면 'qgis.core라는 모듈이 없습니다'라는 메시지가 나타납니다. qgis / bin 내의 python.exe를 인터프리터로 사용하면 qgis.core를 가져 오려고 할 때 'site 모듈 없음'오류가 발생합니다. pyqgis를 사용하는 데 많은 시간을 낭비했습니다.
— Alexander

6

방금 비슷한 문제로 씨름하고 OSGeo4W \ bin 폴더에서 python-qgis.bat 라는 배치 파일을 발견했습니다 . 이것은 Windows 10에서 OSGeo4W 패키지 기반 QGIS 2.18.15 x64 설치의 일부입니다.

이 배치 파일이 실행되면 Python 인터프리터가 열립니다. import qgis내에서 성공적으로 실행됩니다.

이 배치 파일에는 다음 줄이 포함됩니다 (Germán Carrillo가 원래 답변에서 언급 한대로).

set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python;%PYTHONPATH%

파이썬 인터프리터가 시작되기 직전에.


이것은 환경 변수를 수동으로 구성하는 어려움을 없애줍니다.
— Hicham Zouarhi

이것은 작동하기 시작한 것으로 보이지만 C : \ OSGEO4 ~ 1 \ apps \ Python37 \ lib \ site.py를 실행할 때 "SyntaxError : invalid syntax"오류가 발생합니다
— .

그 오류가 발생한 이유는 QGIS가 사용하는 파이썬을 실행하지 않았기 때문입니다. 지금 작동합니다!
— Donny V.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.