Eu estou tentando escrever um script python autônomo no Windows 7 que usa qgis.core e várias outras bibliotecas qgis.
Eu encontrei uma pergunta antiga sobre esse assunto aqui: Gravando scripts Python autônomos usando PyQGIS? e seguia seu conselho, usando o guia aqui: http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/intro.html#python-applications
O código sugerido é:
set PYTHONPATH=c:\qgispath\python
Seguido por:
set PATH=C:\qgispath;%PATH%
Descobri que o IDLE não gostou do conjunto "no início, então meu código fica assim:
PYTHONPATH="C:\OSGeo4W64\apps\qgis\python"
PATH="C:\OSGeo4W64\apps\qgis\python\qgis\core;%PATH%"
import qgis.core
e eu recebo:
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
import qgis.core
ImportError: No module named qgis.core
Eu tentei todas as variantes dos caminhos que consigo incluir, removendo o;% PATH% "no final (que parece um pouco supérfluo), mas não consegui encontrar mais informações. Alguém tem alguma idéia de onde eu possa estar? dando errado?
EDITAR:
Depois de ver o comentário de Luigi Pirelli, tentei agora:
>>> 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
>>>
Respostas:
Se você instalou o QGIS via OSGeo4W, sugiro que você siga este fluxo de trabalho (que acabei de testar no Windows 7):
Abra o OSGeo4W Shell .
Start->All programs->OSGeo4W->OSGeo4W Shell
.Defina variáveis de ambiente . Minha maneira preferida é executar esse arquivo bat (atualizado em 2016.11.03: este arquivo bat ) a partir do OSGeo4W Shell. Como você pode ver, o arquivo define variáveis de ambiente desta maneira:
Obviamente, você precisa verificar se esses caminhos existem no seu sistema operacional e ajustá-los, se necessário.
Portanto, faça o download do arquivo .bat e execute-o acessando-o no OSGeo4W Shell e pressionando ENTER.
Importe as bibliotecas PyQGIS por um dos seguintes métodos:
uma. Digite o intérprete Python. Execute
python
no OSGeo4W Shell e importe as bibliotecas manualmente.b. Execute um script Python. Execute
python my_pyqgis_script.py
no OSGeo4W Shell. Eu começaria com uma muito simples .O fluxo de trabalho foi publicado (em espanhol) há vários anos no GeoTux e ainda funciona. Como você pode ver, não incluo variáveis de ambiente no script Python, mas as defino no OSGeo4W Shell.
fonte
C:\dllo
) e executa o arquivo .bat escrevendo o nome do arquivo e pressionando Enter.Acabei de lutar com um problema semelhante e notei um arquivo em lotes na pasta OSGeo4W \ bin chamado python-qgis.bat . Isso faz parte de uma instalação baseada em pacote OSGeo4W do QGIS 2.18.15 x64 no Windows 10.
Quando executado, esse arquivo em lotes abre o interpretador Python.
import qgis
executado com sucesso a partir de dentro.Este arquivo em lotes contém a linha (conforme observado por Germán Carrillo em sua resposta original):
set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python;%PYTHONPATH%
pouco antes do lançamento do interpretador python.
fonte