Criei um módulo pequeno (e relativamente popular) que dispara e procura o ArcGIS no seu PC. Uma vez encontrado, ele adiciona os caminhos corretos ao ambiente para que você possa importar o arcpy. O uso é assim:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
O módulo está hospedado no github aqui:
https://github.com/JamesRamm/archook
É muito simples e tenho certeza que pode ser mais robusto, mas funciona. Está disponível no pypi:pip install archook
Tem algumas vantagens sobre o método original mais 'manual' (detalhado abaixo):
- Você não precisa configurar cada ambiente python separadamente ... basta importar o módulo e pronto
- Ele não edita / cria nenhuma chave do registro ou variáveis de ambiente permanentes, portanto não há chance de atrapalhar nenhuma configuração python / arcgis existente.
- Você não precisa saber nada sobre caminhos para várias pastas / arquivos, nem mesmo qual versão do arcgis você instalou. O módulo encontrará tudo para você.
- Não é necessária autenticação de administrador
- Não é específico com o anaconda - ele funcionará com qualquer instalação python
Deixei a resposta original abaixo, mas esta solução é (IMO) 100% melhor.
2014 resposta
Ok, então esta resposta funciona para a distribuição Anaconda 64bit Python com ArcGIS 10.1 64bit no Windows 7 / Windows Server. Algumas das dicas (ou todas) fornecidas abaixo podem ser aplicadas a qualquer outra distribuição do python para janelas. Primeiro, instale o anaconda, ele deve ir para o diretório C: \ Anaconda. Marque a caixa 'tornar o sistema python padrão'. Pode avisar que há outro python instalado, mas continue. Então:
Caminhos de instalação e variáveis de ambiente
A primeira coisa a fazer é copiar o arquivo DTBGGP64.pth para o novo diretório de distribuição ( C: \ Anaconda ) de C: \ Python27 \ ArcGISx6410.1 \ Lib \ site-packages . A nomeação é arbitrária, mas deve ter a extensão .pth. Isso permitirá que você importe o ArcPy ao usar a nova distribuição.
Nota: O local correto do arquivo DTBGGP64.pth deve estar no diretório de pacotes do site (por exemplo, C: \ Anaconda \ Libs \ site-packages ). Eu descobri que em algumas versões mais antigas do Anaconda, ele funciona se estiver no diretório de nível superior.
Em seguida, as variáveis de ambiente devem ser verificadas: Na variável de sistema Path, o caminho existente para o diretório python deve ser substituído pelo novo caminho. (por exemplo, C: \ Anaconda; C: \ Anaconda \ Scripts; ) Isso mostrará às janelas onde está o diretório python padrão. Verifique se a variável de usuário PYTHONPATH também está correta. Isso deve apontar para quaisquer bibliotecas que você deseja usar que não sejam descritas por arquivos .pth ou instaladas nos pacotes de sites . IE, podem ser seus próprios pacotes de desenvolvimento ou pacotes como o mapnik, que possuem um local de instalação diferente.
Verifique as configurações do registro
Em algumas máquinas, as opções acima podem ser suficientes para garantir que você possa usar o arcpy do novo python e que o python possa ser usado no ArcGIS. Em outras máquinas, pode ser necessário verificar as chaves do registro. As seguintes chaves do Registro têm configurações de python:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
Deve haver uma chave e seu 'valor deve ser C: \ Anaconda \ Lib; C: \ Anaconda \ DLLs
(ou as pastas correspondentes para a instalação do python)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
A chave deve ser C: \ Anaconda
Você pode ter outras versões python instaladas ... nesse caso, altere o número da versão nos caminhos acima
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
Esse é o local do arquivo .ico para usar nos arquivos .pyc
Comando HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \
Este é o comando a ser emitido ao abrir um arquivo .pyc no shell. Você deve alterar o python.exe
caminho para o local da sua versão python desejada
HKEY_CLASSES_ROOT \ Python.File
As chaves aqui são as mesmas que para Python.CompiledFile, exceto que elas se aplicam a um arquivo .py. Mais uma vez, faça as alterações relevantes. Pode ter uma chave extra para 'Editar com IDLE' ou 'Editar com Pythonwin'. Novamente, faça as alterações relevantes para que os caminhos nessas chaves aponte para a versão desejada do python.
HKEY_CLASSES_ROOT \ Python.NoConFile
São os mesmos que para Python.File, mas devem apontar para o pythonw.exe
programa, quando apropriado.
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1
A chave PythonDir aponta para a instalação do python a ser usada no ArcMap, etc. Ele pode exigir outras mudanças se você apontar ArcMap para a nova instalação python. Não pode haver problemas com as versões de pacotes (por exemplo, numpy) instalados pela nova distribuição. Eu não encontrei nenhum.
Para a maioria do meu trabalho, isso é irrelevante, pois normalmente quero usar o python por conta própria e ocasionalmente ter acesso ao arcpy. Eu raramente desejo usar python de dentro do arcmap. Portanto, fiz poucos testes nesta etapa final, mas parece funcionar para tudo o que tentei até agora.
Eu imagino que o processo seria semelhante para instalar o Python (x, y) etc.
Outras notas
O conteúdo do arquivo .pth é uma lista de caminhos que apontam para as seguintes pastas na instalação do ArcGIS: bin64, arcpy, ArcToolbox \ Scripts Por exemplo, meu arquivo .pth contém o seguinte:
C:\Program Files (x86)\ArcGIS\Desktop10.2\bin64
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Scripts
Minha solução é configurar um script de inicialização que defina o caminho com base no ambiente python que você está usando. Este método tem a (enorme) vantagem de que você não precisa de acesso de administrador para gravar arquivos .pth em instalações python. Este script está configurado para usar o Anaconda de 32 e 64 bits e o ArcGIS / arcpy.
fonte
Caso alguém esteja tentando fazer isso usando o ArcGIS Pro (por exemplo, com python 3 em vez de python 2):
Eu uso o spyder no pacote anaconda. A maneira como eu consegui isso funcionou foi em Ferramentas> Intérprete Python no Spyder, apontando o Spyder para o arquivo propy.bat atualmente localizado em C: \ Arquivos de programas \ ArcGIS \ Pro \ bin \ Python \ Scripts \ propy.bat.
Isso ativa a versão correta do python no Spyder e permite importar o arcpy.
fonte
Eu uso o código a seguir para configurar um ambiente virtual separado , contendo arcpy e suas dependências:
fonte