10 votos

¿Cómo acceder a los módulos Esri ArcPy desde Enthought Canopy?

Tengo ArcGIS 10.1 ejecutándose en mi sistema Windows y también he instalado la nueva distribución Canopy Express Enthought Python de 32 bits.

¿Es posible cargar y utilizar los módulos Esri ArcPy desde Canopy?

0 votos

Usé la solución de la primera respuesta y funcionó perfecto pero necesito canopy x64, ¿hay alguna forma de importar esta lib en canopy x64?

20voto

John Simon Puntos 6

Hay una manera fácil que no implica jugar con el PATH del sistema o PYTHONPATH.

Las distribuciones de Enthought Python, incluyendo Canopy x32, son autónomas y no necesitan nada en el registro o en las variables de entorno. Así que pueden jugar bien con otras distribuciones de Python como la que viene con ArcGIS 10.1.

Para acceder a los módulos python de ArcGIS 10.1 desde Enthought Canopy : Cree un archivo de "ruta" en el directorio de usuario de Canopy que apunte a los módulos python de ArcGIS 10.1. En mi sistema, he creado un archivo de texto llamado arcpy.pth con estas 4 líneas:

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

y poner arcpy.pth en el directorio Canopy User site-packages:

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

Para acceder a los módulos de Enthought Canopy desde ArcGIS 10.1 : Cree un archivo "path" en la carpeta Arc site-packages que apunte a los módulos python de Canopy. En mi sistema, he creado un archivo de texto llamado epd.pth con estas 3 líneas:

# .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

y luego poner epd.pth en la carpeta Arc site-package:

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

¡Eso es todo lo que tenía que hacer!

-Rich

P.D. Esto funciona porque Enthought Canopy 1.0 y ArcGIS10.1 están en la misma versión de Python (2.7) y Numpy (1.6.1). ¡Espero que podamos seguir teniendo esta compatibilidad!

Actualización: Acabo de probar esto con Canopy 1.0.3, que utiliza Numpy 1.7.1, y sigue funcionando, a pesar de que ArcGIS 10.1 está en Numpy 1.6.1. ¡Hurra! ¡Hurra!

3 votos

Algunas notas: 1. Asegúrese de que ha instalado EPD/Canopy x32 para utilizarlo con ArCGIS Desktop. 2. Los archivos pth se cargan en orden alfabético, así que para evitar conflictos he nombrado a estos archivos "zzArcGIS.pth" (carpeta de paquetes de sitios de Canopy) y "zzEPD.pth" (carpeta de paquetes de sitios de ArcGIS). 3. Si utiliza ArcGIS Desktop x64 Background GP, o ArcGIS Server (que utiliza Python x64) deberá instalar EPD/Canopy de 64 bits y añadir archivos .pth que apunten a las carpetas EPD de 64 bits y ArcGIS Python site-packages.

3voto

Aissen Puntos 131

Pues sí. Aquí hay un extracto de una guía de instalación interna que se acaba de utilizar para hacer lo mismo en mi máquina (por favor, asegúrese de que estos se aplican a su máquina en particular):


Configurar el entorno para EPD

  1. Añada un nuevo PATH en sus variables de usuario (anteponga el epd al PATH):

    (edite las rutas que aparecen a continuación en función de la versión de EPD o ArcGIS que esté utilizando) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. Si ArcGIS está instalado, configure la variable de entorno PYTHONPATH de la siguiente manera
    ArcGIS puede importar módulos EPD, y EPD puede importar ArcPy:

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

Si tiene problemas de conflicto entre ArcGIS y EPD, puede eliminar fácilmente EPD del entorno de ArcGIS eliminando las referencias a EPD en PYTHONPATH.


¡Descargo de responsabilidad! Aunque los siguientes pasos me han funcionado en el pasado, no soy una persona muy experta en DOS y me sentiría mejor si consultaras con alguien de tu departamento de TI para asegurarte de que no estoy dando un mal consejo. Dicho esto, sigue leyendo...

Añadir rutas a sus variables de entorno es bastante sencillo utilizando el símbolo del sistema DOS (Todos los programas > Accesorios > Símbolo del sistema). Utilizará el comando setx para alterar permanentemente su PATH y PYTHONPATH variables de entorno.

En el símbolo del sistema, escriba " echo %PATH% "; imprimirá la cadena que es el PATH variable. Es esencialmente una larga cadena de caracteres. Ahora inténtalo con la variable PYTHONPATH variable para ver qué hay en esa. Verás que cada ruta en esas variables está separada por un punto y coma ( ; ). Cuando añadimos nuevas rutas a estas variables debemos incluirlas.

enter image description here

Básicamente, lo que vas a hacer es decirle al ordenador que quieres que tu nuevo PATH y PYTHONPATH para que sean iguales a una nueva cadena (ruta(s)) (como C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin; ) más lo que ya está almacenado en la variable.

El comando que ejecutará para establecer su PATH variable es: setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH% (asegúrese de que estas rutas son aplicables a su sistema)

enter image description here

El comando que ejecutará para establecer su PYTHONPATH variable es: 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% (asegúrese de que estas rutas son aplicables a su sistema)

NOTA: Asegúrese de añadir " %PATH% " y " %PYTHONPATH% " al final de los respectivos comandos. Si no lo haces, estarás sobrescribiendo esas variables sólo con las nuevas rutas y perderás el contenido actual.

0 votos

¡Gracias, Jason! Sin embargo, necesito un poco más de detalle sobre cómo hacer esto - ¿cómo puedo editar las variables de usuario?

0 votos

En la línea de comandos del DOS deberá utilizar el comando SETX (2ª respuesta en stackoverflow.com/questions/8358265/ ) para añadir permanentemente las rutas a sus variables PATH y PYTHONPATH. También puedes hacerlo a través de alguna de las Herramientas Administrativas si no recuerdo mal, pero no tengo permisos en mi ordenador del trabajo para usarlas así que normalmente uso una ventana DOS.

0 votos

Gracias de nuevo ... como un novato Python-er que trabaja principalmente en IDLE (nunca tocó el símbolo del sistema DOS) no sé acerca de cómo agregar el nuevo PATH y PYTHONPATH variables de entorno. ¿Quizás capturas de pantalla y/o una opción para hacer esto a través de una GUI (no DOS)?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X