Como importar qgis.core para o aplicativo Python?

11

Eu sou novo no Python. Quero criar um aplicativo GIS com Python usando a biblioteca QGIS na janela 7 de 64 bits.

Do jeito que eu faço:

instale o QGIS 1.7.0

  • Defino PYTHONPATH = D: \ Arquivos de programas (x86) \ Quantum GIS Wroclaw \ apps \ qgis \ python
  • Eu executo python do cmd em D: \ Arquivos de Programas (x86) \ Quantum GIS Wroclaw \ bin
  • Digite import qgis.core, uma janela pop-up será exibida com o texto

O programa não pode ser iniciado porque está faltando qgis_core.dll no seu computador. Tente reinstalar o programa para resolver este problema

e o texto em cmd é

ImportError: falha no carregamento da DLL: não foi possível encontrar o módulo especificado.

Alguém pode me ajudar?

newToAndroid
fonte

Respostas:

5

Você precisa verificar duas coisas:

PYTHONPATH

O PYTHONPATH está definido para o cmd que você inicia. Isso significa que você precisa configurá-lo globalmente no seu sistema

Vá para Painel de Controle -> Sistema -> Avançado.

Clique no botão 'Variáveis ​​de ambiente'.

No painel 'Variáveis ​​do sistema' que aparece, clique em Novo e insira PYTHONPATH no campo 'Nome da variável'. No campo 'Valor variável', insira o caminho para o QGIS.

Ou você pode configurá-lo diretamente na linha de comando do cmd antes de iniciar o interpretador python com:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

CAMINHO

A DLL que será usada pelo módulo qgis python deve estar no seu caminho. Assim como você define o PYTHONPATH acima, defina a variável de ambiente PATH para que ele contenha o diretório em que qgis_core.dll está localizado.

O diretório a ser adicionado é provavelmente D: \ Arquivos de Programas (x86) \ Quantum GIS Wroclaw \ apps \ qgis Mas verifique se qgis_core.dll está realmente lá.

OSGEO4W

Como foi sugerido em outra resposta, o OSGEO4W instala e configura tudo para você. Porém, ele instalará outro Python, o que pode complicar as coisas quando você deseja instalar módulos Python de terceiros não disponíveis no OSGEO4W.

Você também obteria a versão mais recente do QGIS, que é 1.7.4 (1.8 em breve).

Vincent
fonte
1
Você deve aceitar minha resposta então: meta.stackexchange.com/questions/5234/...
Vincent
1

Se você deseja criar um aplicativo independente, use a cópia qgis.bat em% OSGEO4W_ROOT% \ bin como modelo e substitua a chamada para qgis por uma chamada para python (ou pythonw com seu script de aplicativo). Você terá um python em execução em um ambiente semelhante ao QGIS.

Em outras palavras: copiar qgis.batem D:\Program Files (x86)\Quantum GIS Wroclaw\binque myqgisapp.bate substituir a última linha na cópia

inicie "Quantum GIS" / B "% OSGEO4W_ROOT%" \ apps \ qgis \ bin \ qgis.exe% *

com

inicie "Meu aplicativo Quantum GIS" / B "% OSGEO4W_ROOT%" \ apps \ qgis \ bin \ pythonw.exe L: \ caminho \ para \ seu \ python \ app.py

Nota: pythonw.exenão abrirá uma janela de texto separada, mas printnão funcionará (se você precisar, use python.exe).

jef
fonte
Obrigado. Mas você pode me mostrar algum passo? Estou tão confuso
newToAndroid
Não tenho 15 reputação para votar na sua resposta. Obrigado mesmo assim. : D
newToAndroid
0

Além da resposta de Vincent (que achei correta), é importante observar que o caminho para qgis_core.dll na variável de ambiente PATH deve vir em primeiro lugar na lista.

Antes de descobrir isso, fiquei com o problema descrito em uma instalação do QGIS 2.0.1 OSGeo4W.

Jan Šimbera
fonte