Usando a funcionalidade ArcGIS no Python sem executar o ArcMap (por exemplo, editor / ambiente separado)?

26

Estou tentando dar o próximo passo na programação do ArcGIS com Python e ver se é realmente possível executar meu script / código sem ter que carregar o ArcMap e colá-los na janela do Python. Eu imagino que eu faria nessa visualização algum tipo de IDE específico para Python que carrega algo do ArcGIS.

Como eu consegui fazer isso?


Atualização: Resumo da solução

Eu segui a rota Eclipse + PyDev. Aqui estão minhas anotações sobre como instalar tudo e fazê-lo funcionar:

Baixar Eclipse

Isso é um pouco confuso, considerando todos os diferentes tipos disponíveis (Java, Java EE, C / C ++ etc.). Eu fui com C / C ++, já que isso é familiar para mim. Realmente não importa, já que o PyDev é instalado após esta etapa. Escolha o que você quer.

Instale o PyDev

O PyDev será instalado via Eclipse. As instruções vinculadas funcionaram perfeitamente.

Configurar o PyDev

A pergunta acima fornece uma captura de tela da configuração do Windows, enquanto esse link de um blog da ESRI tem mais informações para os sistemas Unix, embora seja de 2008.

Executou um script de teste

Disparei um script no qual eu estava trabalhando e funcionou. Parece haver algumas diferenças na execução do código dessa maneira em como acessar os arquivos de forma e o espaço de trabalho, etc., é necessária mais explícita. Mais para aprender aqui.

mindless.panda
fonte
Confesso que isso parece quase mais uma pergunta do Python e também trai minha ignorância sobre o ambiente do Python, mas espero que a resposta seja útil para outras pessoas que são novas no ArcGis + Python!
mindless.panda
Eu acho que usar o IDLE teria sido mais fácil. PyDev é um pouco exagerado nessa situação, eu acho. Você também pode criar alguns modelos no Model Builder e exportá-los como arquivos .py. Dessa forma, você sentiria o código Python.
RK
Isso é simplesmente repetir o que eu disse! É o melhor, não é? A chave para usá-lo dessa maneira é que você é capaz de criar objetos e classes aos quais algumas das outras maneiras não suportam. Ele permite que você realmente se concentre na criação de código de cracking, implantável no servidor. Boa sorte!
10282 Hairy
2
Sem pensar, apenas uma resposta aqui menciona a solução Eclipse + PyDev. Existe algum motivo para você não votar?
whuber
Nenhum. Aceitei a sugestão do Eclipse, pois era assim que eu preferia. Eu só respondi minha própria pergunta para documentar o processo de instalação. Algum motivo para minha resposta ser editada na pergunta? Talvez isso deva ser um CW?
precisa

Respostas:

11

A melhor maneira que encontrei para usar o Python é usando o Eclipse com o PyDev. É um bom IDE para desenvolver e permitir a depuração em linha, não recomendar a depuração de linha, e isso me permitiu criar aplicativos de gerenciamento de dados de back-end muito profissionais em larga escala.

O IDLE só é bom para testar scriplets, na minha opinião, e não é bom para projetar soluções complexas baseadas em objetos.

Também é incrivelmente fácil de configurar.

Peludo
fonte
Há muita coisa envolvida em fazer o Eclipse + PyDev funcionar com a funcionalidade ArcGIS? Outras respostas parecem indicar algumas peculiaridades do uso do Python não instalado pelo Arc?
mindless.panda
Nenhuma, simplesmente assegure-se de ter o Arcgis Desktop instalado e configure o Eclipse para trabalhar com o PyDev e você estiver ausente. Foram necessários 5 minutos para configurá-lo e, em seguida, tudo o que você precisa fazer é referenciar arcpy em seu script. Seriouly, eu não vi uma maneira mais fácil e melhor de fazê-lo.
Hairy
15

Eu apenas comecei a entender o Python e o arcpy e achei o PyScripter realmente útil. É um IDE Python completo

mapoholic
fonte
2
O melhor IDE que já usei até hoje é o PyScripter e é grátis!
precisa saber é o seguinte
2
PyScripter é realmente ótimo. Excelente conclusão de código, destaque de sintaxe, pesquisa e substituição, guias para mostrar vários scripts PY. Muito mais útil que o IDLE na minha opinião.
precisa saber é o seguinte
15

Se eu entendi a pergunta, você deseja executar seus scripts de forma independente, fora da sessão do ArcMap. Totalmente viável. Salve seu código em um arquivo Python (.py). No que diz respeito à edição, você pode usar o IDLE ou qualquer editor de texto (até o Bloco de Notas). Às vezes, quando você está começando, é mais fácil usar um editor de texto para que você possa se concentrar em aprender o código, não o IDE. Verifique se as variáveis ​​ambientais PATH estão configuradas corretamente, para que incluam o diretório de instalação do Python, algo como:

C:\Python26\ArcGIS10.0\Lib\site-packages\;C:\Python26\ArcGIS10.0;C:\Python26\ArcGIS10.0\Scripts

Depois, basta abrir um prompt de comando (Iniciar> Executar> digite 'cmd' [sem as aspas]) e digitar:

python c:\path\to\python\script.py

Agora, isso pressupõe que você tenha todos os seus caminhos de dados codificados no script.

Esse é o básico. É claro que há muito mais, como usar parâmetros de entrada.

Chad Cooper
fonte
3
apenas um comentário sobre o IDLE ou um editor de texto padrão. Pessoalmente, acho o PythonWin uma maneira muito mais fácil de trabalhar, pois possui melhores recursos de depuração - cruciais durante o aprendizado. Consulte as instruções sobre a instalação do PythonWin com ArcGIS 10. Você precisa garantir a instalação da versão do PythonWin a partir do DVD do ArcGIS, ou isso pode interromper a instalação do Python.
Stephen Chumbo
6

Quando o ArcGIS instala, ele instala sua própria versão do python (ou seja, você não precisa importar as dependências). Certifique-se de usar este.

Eu uso o python CLI como uma calculadora, além de executar scripts salvos.

Python como calculadora é ótimo, pois você pode definir variáveis. Eu recebi essa dica nos tutoriais em python http://docs.python.org/

Eu tenho um atalho para a CLI via prompt de comando na minha barra de tarefas% windir% \ system32 \ cmd.exe / k "C: \ Python26 \ ArcGIS10.0 \ python.exe"

Usei tarefas agendadas do Windows para fazer alguma manutenção por meio de scripts que eu exportei do construtor de modelos e, em seguida, hackeei algumas alterações nos built-ins do python, como a aplicação de datas nos nomes de arquivos para backups.

woodwa
fonte
5

Acredito que um IDE para python vem com a instalação do ArcGIS-10. É chamado IDLE e é uma ferramenta simples, mas eficaz, para interface com o ArcPy sem abrir uma instância do próprio ArcMap. Você deve encontrá-lo no diretório "Python 2.6" da sua instalação do ArcGIS no menu Iniciar. Apenas certifique-se de import arcpyantes de executar algo específico para o pacote! Qualquer exemplo de script que você vê na referência do ArcPy para scripts independentes funcionará na interface do IDLE.

Nathanus
fonte