Windows에서 QGIS 용 타사 Python 라이브러리를 설치하는 방법은 무엇입니까?


18

Windows의 QGIS 플러그인에서 타사 라이브러리를 사용하려면 어떻게해야합니까? 고객을 위해 rasterio와 numpy를 사용하는 플러그인을 개발했지만 rasterio와 numpy를 설치하는 데 문제가 있습니다.

실제로 rasterio와 numpy는 기본 시스템 Python (C : \ Python27)에 설치되었지만 그것을 인식하려면 QGIS Python이 필요합니다.

어떻게 할 수 있습니까?

답변:


23

OSGeo4W에서 배포 한 QGIS에는 일반적으로 "일반"Python 설치와 독립적 인 자체 Python 설치 및 자체 패키지가 함께 제공됩니다.

OSGeo4W 배포에 Python 패키지를 설치하는 가장 쉬운 방법은 OSGeo4W Shell 을 열고 거기서 pip를 사용하는 것입니다. 파이썬 분포가에있는 내 경우에는, 사용을 QGIS에이 패키지를 설치합니다 C:\OSGeo4W64\apps\Python27\및 모듈 따라시 C:\OSGeo4W64\apps\Python27\Lib\site-packages. 또한 정기적으로 할 수있는 pip list내부 OSGeo4W 쉘 및 일반 윈도우 쉘 (cmd.exe를을) 당신이 누락 될 수 있습니다 패키지를 알기 위해 출력을 비교합니다.

두 개의 Python 설치에 패키지를 설치하지 않으려면 한 설치에서 다른 설치로 패키지를 포함 하도록 PythonPath 를 변경하십시오 .

편집 :이 답변은 Windows에서 QGIS와 함께 사용할 모듈을 설치하기 위해 pip 에 관한 원래 질문에 관한 것 입니다. 이후 OP는 질문을 수정 / 정제 했으므로 이제이 답변은 약간 광범위합니다.


3
OSGeoW 쉘에서 pip를 사용하려면해야 할 일python -m pip install wheel setuptools c:\path\to\rasterio-<ver>-win_amd64.whl

13

Numpy는 기본적으로 QGIS (독립형 버전, OSGeo4W 버전)에 설치됩니다. 들어 rasterio 많은 문제가있다. rasterio가 강력하고 사용하기 쉽다는 것을 알고 있지만 PyQGIS의 모든 기능을 사용하는 동안 QGIS 플러그인에서 rasterio를 사용하는 이유는 무엇입니까? (파이썬 쉘 또는 스크립트를 위해 설계되었으며 , shapefile을위한 Fiona 로 QGIS / PyQGIS와 함께 사용되지 않습니다 )

Linux 또는 Mac OS X (Unix 시스템)에서 QGIS는 표준 Python 설치 (QGIS와 무관)를 사용하며 Python 모듈을 설치 또는 업그레이드하기 쉬운 경우 (기본적으로 많은 컴파일러가 설치되어 있음)

Windows에서는 Python이 기본적으로 설치되지 않으며 QGIS는 자체 버전을 설치합니다. 순수한 Python 모듈 (C, C ++ 라이브러리없이)을 설치하려면 솔루션이 있습니다 ( QGIS Standalone 및 Python Modules , OSGeo4W Python에 Python setuptools 설치 또는 OSGeo4W 용 PySAL 설치 )

그러나 컴파일해야하는 모듈 (기본적으로 컴파일러 없음)의 경우 쉽지 않습니다. 설치된 모듈을 QGIS Python site_folder에 복사 / 붙여 넣기를 시도 할 수 있지만 문제가 있습니다.

Rasterio 는 설치된 GDAL 라이브러리 에 대해 컴파일해야하며 Python 확장 패키지 용 Christoph Gohlke 비공식 Windows 바이너리 에서 설치하는 경우 QGIS에서 사용하는 GDAL 버전이 같은지 확실하지 않습니다 ( dll 라이브러리)

numpy와 rasterio를 독점적으로 사용한다면 왜 독립 스크립트가 아닌가?


첫 번째 링크가 작동하지 않음
nickves

수정, 감사 및 특정 rasterio 문제에 대한 텍스트를 수정
유전자

사용자는 이것을 QGIS에서 사용해야했습니다. 또한 QGIS의 래스터 계산기가 깨져서 직접 사용할 수 없었습니다.
George Silva

0

Qgis 2.18.28의 python 2.7.14 콘솔 내에서 이것은 나를 위해 작동합니다. 절대 파이썬 경로로 프롬프트를 사용하지 않아도됩니다.

import subprocess
subprocess.check_call(['python', '-m', 'pip', 'install', 'openpyxl'])

pip 개발자에 따르면 pip.main 또는 pip._internal.main은 지원되지 않습니다. https://pip.pypa.io/en/stable/user_guide/#using-pip-from-your-program Qgis에서는 qgis 자체이기 때문에 권장 sys. executable을 'python'으로 수정했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.