Como acessar os módulos Esri ArcPy do Enthought Canopy?

10

Eu tenho o ArcGIS 10.1 em execução no meu sistema Windows e também instalei a nova distribuição Python do Canopy Express Enthought de 32 bits.

É possível carregar e usar os módulos Esri ArcPy da Canopy?

SharonB
fonte
Eu usei a solução da primeira resposta e funcionou perfeitamente, mas preciso do dossel x64. Existe alguma maneira de importar essa lib no dossel x64?
Μανώλης Παναγιωτάκης

Respostas:

20

Existe uma maneira fácil que não envolve mexer com o PATH ou PYTHONPATH do sistema.

As distribuições Enthought Python, incluindo Canopy x32, são independentes e não precisam de nada no registro ou nas variáveis ​​de ambiente. Para que eles possam se divertir com outras distribuições Python, como a que acompanha o ArcGIS 10.1.

Para acessar os módulos python do ArcGIS 10.1 a partir do Enthought Canopy : Crie um arquivo "path" no diretório do usuário do Canopy que aponte para os módulos python do ArcGIS 10.1. No meu sistema, criei um arquivo de texto chamado arcpy.pthcom estas 4 linhas:

# .pth file for arcpy
C:\ArcGIS\Desktop10.1\bin
C:\ArcGIS\Desktop10.1\arcpy
C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

e coloque arcpy.pthno diretório de pacotes de sites do Usuário do Canopy:

C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\lib\site-packages

Para acessar os módulos do Enthought Canopy no ArcGIS 10.1 : Crie um arquivo "caminho" na pasta pacotes de sites do Arc que aponte para os módulos python do Canopy. No meu sistema, criei um arquivo de texto chamado epd.pthcom estas 3 linhas:

# .pth file for EPD Canopy
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\Lib\site-packages
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\System\Lib\site-packages

e, em seguida, coloque epd.pthna pasta do pacote de sites Arc:

C:\Python27\ArcGIS10.1\Lib\site-packages

Era tudo o que eu precisava fazer!

-Rico

PS Isso funciona porque o Enthought Canopy 1.0 e o ArcGIS10.1 estão na mesma versão do Python (2.7) e Numpy (1.6.1). Espero que possamos continuar a ter essa compatibilidade!

Atualização: Eu apenas tentei isso com o Canopy 1.0.3, que usa o Numpy 1.7.1, e ainda funciona, mesmo que o ArcGIS 10.1 esteja no Numpy 1.6.1. Viva! Yippee!

Rich Signell
fonte
3
Algumas notas: 1. Verifique se você instalou o EPD / Canopy x32 para uso com o ArCGIS Desktop. 2. Os arquivos pth são carregados em ordem alfabética; portanto, para evitar conflitos, nomeiei esses arquivos: "zzArcGIS.pth" (pasta de pacotes de sites do Canopy) e "zzEPD.pth" (pasta de pacotes de sites do ArcGIS). 3. Se você estiver usando o ArcGIS Desktop x64 Background GP ou ArcGIS Server (que usa o Python x64), precisará instalar o EPD / Canopy de 64 bits e adicionar arquivos .pth apontando para as pastas de pacotes de sites do EPD e do ArcGIS Python de 64 bits .
Curtis Preço
3

Sim, ele é. Aqui está um trecho de um guia de instalação interno que era usado apenas para fazer o mesmo em minha máquina (verifique se eles se aplicam a sua máquina específica):


Configurar ambiente para EPD

  1. Adicione um novo PATH em suas variáveis ​​de usuário (inclua o epd no PATH):

    (edite os caminhos abaixo de acordo com a versão do EPD ou ArcGIS que você está usando) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. Se o ArcGIS estiver instalado, configure a variável de ambiente PYTHONPATH para que o
    ArcGIS possa importar módulos EPD e o EPD possa importar o ArcPy:

    PYTHONPATH= C:\Python27_epd32\lib\site-packages; C:\ArcGIS\Desktop10.1\bin; C:\ArcGIS\Desktop10.1\arcpy; C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

Se você tiver problemas com o ArcGIS em conflito com o EPD, poderá remover facilmente o EPD do ambiente ArcGIS removendo as referências ao EPD no PYTHONPATH.


Aviso Legal! Embora as etapas abaixo tenham funcionado para mim no passado, eu não sou muito experiente em DOS e me sentiria melhor se você consultasse alguém em seu departamento de TI para garantir que não estou dando conselhos ruins. Com isso dito, continue a ler ...

Adicionar caminhos às variáveis ​​de ambiente é bastante simples, usando o prompt de comando do DOS (Todos os Programas> Acessórios> Prompt de Comando). Você usará o comando setxpara alterar permanentemente suas variáveis ​​de ambiente PATHe PYTHONPATH.

No prompt de comando, digite " echo %PATH%"; ele imprimirá a string que é a PATHvariável. É essencialmente apenas uma longa sequência de caracteres. Agora tente com a PYTHONPATHvariável para ver o que há nessa. Você notará que cada caminho nessas variáveis ​​é separado por ponto e vírgula ( ;). Quando adicionamos novos caminhos a essas variáveis, devemos incluí-los.

insira a descrição da imagem aqui

Essencialmente, o que você fará é dizer ao computador que deseja que suas novas PATHe PYTHONPATHvariáveis ​​sejam iguais a alguma nova sequência (caminho (s)) (como C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;), mais o que já está armazenado na variável.

O comando que você executará para definir sua PATHvariável é: setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%(verifique se esses caminhos são aplicáveis ​​ao seu sistema)

insira a descrição da imagem aqui

O comando que você executará para definir sua PYTHONPATHvariável é: setx PYTHONPATH=C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;C:\ArcGIS\Desktop10.1\arcpy;C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts;%PYTHONPATH%(verifique se esses caminhos são aplicáveis ​​ao seu sistema)

NOTA: Certifique-se de adicionar " %PATH%" e " %PYTHONPATH%" ao final dos respectivos comandos. Caso contrário, você substituirá essas variáveis ​​apenas com os novos caminhos e perderá o conteúdo atual.

Jason
fonte
Obrigado Jason! No entanto, preciso de um pouco mais de detalhes sobre como fazer isso - como edito variáveis ​​de usuário?
precisa saber é o seguinte
No prompt de comando do DOS, você desejará usar o comando SETX (segunda resposta em stackoverflow.com/questions/8358265/… ) para preceder permanentemente os caminhos das variáveis ​​PATH e PYTHONPATH. Você também pode fazer isso através de algumas das ferramentas administrativas, se bem me lembro, mas não tenho permissões no meu computador de trabalho para usá-las, por isso geralmente uso uma janela do DOS.
24413 Jason
Obrigado novamente ... como um iniciante em Python que trabalha principalmente no IDLE (nunca tocou no prompt de comando do DOS), não sei sobre / como adicionar as novas variáveis ​​de ambiente PATH e PYTHONPATH. Talvez screenshots e / ou uma opção para fazer isso através de uma GUI (não do DOS)?
SharonB
Uau. Obrigado. Isso é impressionante. Muito apreciado, vou informá-lo como vai.
precisa saber é o seguinte
Hehe, é um processo simples, mas parece complicado por causa de todos os caminhos! Espero que todo o seu trabalho esteja se unindo!
24413 Jason