7 votos

Envío de archivo de python personalizado script con todos los parámetros para la interfaz emergente ya definidos?

Tengo un python script en ArcGIS 10 que cuando se hace clic, tiene una ventana emergente para un usuario para elegir los parámetros. Me gustaría enviar este archivo a otra persona. Aunque podría enviarles el código python y que ellos configuren los parámetros - este método repite el trabajo que ya he hecho.

Me gustaría enviar a alguien un archivo que contenga toda esta información para que pueda simplemente recibir mi archivo, añadirlo a una caja de herramientas y que todo funcione. Me pregunto dónde reside el archivo que tiene tanto el código python como los parámetros / ¿cuál es el proceso de exportación / tipo de archivo que debería buscar? (Todas las búsquedas que hago de "exportar script" parecen referirse a la exportación de un modelo a código python...)

6voto

Arda Xi Puntos 1099

Creo que lo que quieres hacer es crear una herramienta personalizada de Toolbox y configurar tus parámetros allí. Luego enviarías a otros tu código junto con el archivo Toolbox .tbx. Ver esta sección de la ayuda de ArcGIS.

enter image description here

0 votos

Así es como lo he hecho yo. Pero lo que dices es que para pasar un script de python y su interfaz emergente, tengo que enviar toda la caja de herramientas en lugar del propio script para que alguien lo añada a su propia caja de herramientas?

0 votos

El envío de la caja de herramientas completa sí que funciona. Sólo tenía que superar el intento de encontrar una manera de exportar el script mismo. Gracias

0 votos

Descubrí que funcionaba, pero sólo para abrir la interfaz, pero la herramienta en sí no funcionaba, aparentemente también necesitaba incrustar el script.

4voto

Lucas Puntos 128

Sí, según la respuesta de @Chad Cooper, se envía la caja de herramientas personalizada (archivo *.tbx) y el python script. Hay instrucciones en el ayuda en línea para hacer esto.

3 votos

Además, puede incrustar el script directamente en la caja de herramientas incluso con una contraseña opcional de protección.

0 votos

Creo que esta es la información clave que estaba buscando. Como un semi-aparte: ¿hay alguna manera de mirar las propiedades de la caja de herramientas para ver si tiene script incrustado o no?

0 votos

Curiosamente este método de incrustación no parece incrustar ningún código de mis pocas pruebas... (cuando fui a abrir la caja de herramientas desde otro ordenador)

1voto

auramo Puntos 161

En lugar de modificar su herramienta script y especificar los valores por defecto, yo utilizaría ModelBuilder para hacer esto.

  1. Crear un modelo ModelBuilder en la misma caja de herramientas.
  2. Coloca tu herramienta personalizada script.
  3. Rellene los parámetros.
  4. Para cualquier variable que quieras que el usuario pueda cambiar, aunque tenga un valor por defecto, haz clic con el botón derecho en la variable y selecciona "Hacer parámetro del modelo".
  5. Guarda el modelo.
  6. Envía la caja de herramientas y el archivo Python script. También puedes incrustar el script de Python en la caja de herramientas como mencionó @Mike Toews.

Asegúrese también de utilizar rutas relativas en las propiedades de su modelo y de la herramienta script para que el script, el modelo y la herramienta script puedan encontrarse en la máquina del cliente: enter image description here

0 votos

¿Quieres decir que a menos que se seleccione "rutas relativas" al incrustar el script en la caja de herramientas, la herramienta no funcionará en un ordenador diferente?

0 votos

Si NO está incrustando el script, entonces el script referenciado por la herramienta script probablemente no se encontrará en el sistema de archivos del cliente, porque la ruta absoluta al script en su máquina probablemente será diferente a la ruta absoluta al script en la máquina del cliente. Cuando se utilizan rutas relativas, siempre que la caja de herramientas y script se mantengan juntos, funcionará en cualquier máquina. No estoy seguro de si ModelBuilder tendrá problemas para encontrar la herramienta script sin las rutas relativas marcadas si están en la misma caja de herramientas, pero generalmente siempre marco la casilla por costumbre.

0 votos

Ok - Acabo de probar ambas formas (absoluta y relativa) y ninguna funciona. No entiendo por qué usando el método "embed script" no se incrusta nada (Cuando voy a editar el script que me envié por correo electrónico a un ordenador diferente, el editor no aparece porque no hay nada que editar)... Debo estar perdiendo algo aquí..

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