¿Usa la funcionalidad de ArcGIS en Python sin ejecutar ArcMap (por ejemplo, editor / entorno separado)?

26

Estoy tratando de dar el siguiente paso en la programación de ArcGIS con Python y ver si es realmente posible ejecutar mi script / código sin tener que cargar ArcMap y pegarlos en la ventana de Python. Me imagino que haría esta vista algún tipo de IDE específico para Python que carga algo de ArcGIS.

¿Cómo podría hacer esto?


Actualización: resumen de la solución

Fui la ruta Eclipse + PyDev. Aquí están mis notas sobre cómo instalar todo y hacer que funcione:

Descargar Eclipse

Esto es un poco confuso dados los diferentes sabores disponibles (Java, Java EE, C / C ++, etc.). Fui con C / C ++ ya que eso es lo que me es familiar. Realmente no importa, ya que PyDev se instala después de este paso. Elige lo que quieras.

Instalar PyDev

PyDev se instalará a través de Eclipse. Las instrucciones vinculadas funcionaron perfectamente.

Configurar PyDev

La pregunta anterior ofrece una captura de pantalla de una configuración de Windows, mientras que este enlace de un blog de ESRI tiene más información para los sistemas Unix, aunque es de 2008.

Ejecutó un script de prueba

Lancé un guión en el que había estado trabajando y funcionó. Parece haber algunas diferencias en la ejecución de código de esta manera en cómo acceder a los archivos de forma y al espacio de trabajo, etc., se requiere más explícita. Más para aprender aquí.

mindless.panda
fuente
Confieso que esto parece casi una pregunta de Python y también revela mi ignorancia del entorno de Python, pero espero que la respuesta sea útil para otros que son nuevos en ArcGis + Python.
mindless.panda
Creo que usar IDLE hubiera sido más fácil. PyDev es un poco exagerado en esta situación, creo. También es posible que desee compilar algunos modelos en Model Builder y exportarlos como archivos .py. De esa manera, tendría una idea del código Python.
RK
¡Esto es simplemente repetir lo que he dicho! Es lo mejor, aunque no lo es. La clave para usarlo de esta manera es que puedes crear objetos y clases que algunas de las otras formas no admiten. Le permite concentrarse realmente en la creación de código de craqueo, desplegable en el servidor. ¡Buena suerte!
Peludo
2
Sin sentido, solo una respuesta aquí menciona la solución Eclipse + PyDev. ¿Hay alguna razón por la que no lo votaste?
whuber
Ninguna. Acepté la sugerencia de Eclipse ya que esa es la forma en que fui y preferí. Solo respondí mi propia pregunta para documentar el proceso de configuración. ¿Alguna razón por la que mi respuesta debería ser editada en la pregunta? Tal vez esto debería ser un CW?
mindless.panda

Respuestas:

11

La mejor manera que he encontrado para usar Python es usando Eclipse con PyDev. Es un buen IDE para desarrollar y permite la depuración en línea, no la depuración de línea, y me ha permitido construir aplicaciones de gestión de datos de back-end muy profesionales a gran escala.

IDLE solo es tan bueno para probar scriplets, en mi opinión, y no es bueno para diseñar soluciones complejas basadas en objetos.

También es increíblemente fácil de configurar.

Peludo
fuente
¿Hay mucho que ver con hacer que Eclipse + PyDev funcione con la funcionalidad ArcGIS? ¿Otras respuestas parecen indicar algunas peculiaridades con el uso de Python no instalado por Arc?
mindless.panda
Ninguno en absoluto, simplemente asegúrese de tener instalado el escritorio de arcgis y configure Eclipse para que funcione con PyDev y ya está. Le tomó 5 minutos configurarlo y luego todo lo que tiene que hacer es hacer referencia al arco en su secuencia de comandos. En serio, no he visto una manera mejor y más fácil de hacerlo.
Peludo
15

He hecho más que empezar para poder familiarizarse con Python y ArcPy y me encontré con PyScripter realmente útil. Es un IDE de Python completo

mapoholic
fuente
2
¡El mejor IDE que he usado hasta la fecha es PyScripter y es gratis!
Hornbydd
2
PyScripter es realmente genial. Excelente terminación de código, resaltado de sintaxis, búsqueda y reemplazo, pestañas para mostrar múltiples scripts PY. Mucho más útil que IDLE en mi opinión.
RyanDalton
15

Si entiendo la pregunta, desea ejecutar sus scripts de forma independiente, fuera de la sesión de ArcMap. Totalmente factible. Guarde su código en un archivo Python (.py). En cuanto a la edición, puede usar IDLE o cualquier editor de texto (incluso el Bloc de notas) para el caso. A veces, cuando comienzas, es más fácil usar un editor de texto para que puedas concentrarte en aprender el código, no el IDE. Asegúrese de tener sus variables de entorno PATH configuradas correctamente, de modo que incluyan su directorio de instalación de Python, algo como:

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

Entonces es simplemente una cuestión de abrir un símbolo del sistema (Inicio> Ejecutar> escriba 'cmd' [sin las comillas]) y escribir:

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

Ahora, esto supone que tiene todas sus rutas de datos codificadas en el script.

Eso es lo básico. Por supuesto, hay mucho más, como usar parámetros de entrada.

Chad Cooper
fuente
3
solo un comentario sobre IDLE o un editor de texto estándar. Personalmente, considero que PythonWin es una forma mucho más fácil de trabajar, ya que tiene mejores capacidades de depuración, crucial mientras aprendes. Consulte las instrucciones para instalar PythonWin con ArcGIS 10. Debe asegurarse de instalar la versión de PythonWin desde el DVD de ArcGIS, o puede interrumpir la instalación de Python.
Stephen Lead el
6

Cuando ArcGIS se instala, instala su propia versión de python (es decir, no es necesario importar las dependencias) ... asegúrese de usar esta ...

Uso Python CLI como calculadora y también ejecuto scripts guardados.

Python como calculadora es genial ya que puedes definir variables. Obtuve este consejo de los tutoriales de Python http://docs.python.org/

Tengo un acceso directo a la CLI mediante el símbolo del sistema en mi barra de tareas% windir% \ system32 \ cmd.exe / k "C: \ Python26 \ ArcGIS10.0 \ python.exe"

Utilicé tareas programadas de Windows para realizar algunas tareas de mantenimiento a través de secuencias de comandos que exporté del generador de modelos y luego modifiqué algunos cambios en las funciones integradas de Python, como la aplicación de fechas a los nombres de archivo para las copias de seguridad.

Woodwa
fuente
5

Creo que un IDE para python viene con la instalación de ArcGIS-10. Se llama IDLE y es una herramienta simple pero efectiva para interactuar con ArcPy sin abrir una instancia de ArcMap. Debería poder encontrarlo en el directorio "Python 2.6" de su instalación de ArcGIS en el menú de inicio. ¡Solo asegúrese de hacerlo import arcpyantes de realizar algo específico para el paquete! Cualquier ejemplo de secuencia de comandos que vea en la referencia de ArcPy para secuencias de comandos independientes funcionará en la interfaz de IDLE.

Nathanus
fuente