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?


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!


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.