Página 1 de 1

[RESUELTO] Probar script localmente

Publicado: 10 de julio de 2018 - 12:12 p. m.
por david999
Hola,

disculpen si la respuesta parece obvia, pero soy principiante en Python.
Actualmente, creo varios paquetes en el servidor WAPT y luego los implemento.
Si necesito hacer cambios, modifico el archivo setup.py del paquete en el servidor, luego reconstruyo el paquete y lo vuelvo a implementar.
El problema es que durante las pruebas, termino reconstruyendo el paquete innumerables veces solo para probar una función o sintaxis.

¿No hay forma de ejecutar funciones desde la máquina cliente directamente en setuphelpers para realizar estas pruebas?
Cuando intento importar setuphelpers en la máquina cliente, recibo el mensaje de error: "
No se encontró el módulo setuphelpers".


Si alguien tiene una solución, ¡se lo agradecería mucho!

Gracias de antemano.

Re: Probar el script localmente

Publicado: 10 de julio de 2018 - 19:54
por htouvet
Consulte PyScripter y las configuraciones de prueba:
https://www.wapt.fr/fr/doc/CreationPaqu ... index.html

Wapt tiene su propia instalación de Python (=virtualenv).
Por lo tanto, su entorno de prueba local debe estar configurado para usar el virtualenv de Wapt.

Con PyScripter, es muy fácil probar su paquete y las funciones de setuphelpers (shell de Python integrada: "from setuphelpers import *").

Re: Probar el script localmente

Publicado: 11 de julio de 2018 - 18:40
por david999
Hola htouvet,

muchas gracias por tu respuesta.
Sin embargo, tengo problemas para iniciar PyScripter.
Después de instalarlo en la máquina cliente a través de WAPT, no puedo abrirlo. Cuando intento iniciarlo, recibo el mensaje de error: "
No se pudo cargar un motor de Python".

Vi que se necesita instalar una versión de Python de 32 bits para que funcione con PyScripter.
https://github.com/pyscripter/pyscripte ... nstall.txt

También vi una solución alternativa agregando un archivo por lotes a la carpeta ejecutable de PyScripter:
https://groups.google.com/forum/#!topic ... BbYQSCO0uQ

El archivo por lotes contiene:
SET PYTHONHOME=C:\Python27
PyScripter --PYTHON27 --PYTHONDLLPATH "C:\Python27"

A pesar de esto, sigo sin poder abrir PyScripter.
Según el mensaje de error "No se pudo abrir el archivo DLL: Error 193", parece tratarse de un problema de arquitectura incompatible con la DLL.
El equipo utiliza Windows 7 de 64 bits.
¿Necesito descargar un archivo Python27.dll específico? Si es así, ¿dónde puedo encontrarlo?


Gracias de antemano por su ayuda.

David

Re: Probar el script localmente

Publicado: 11 de julio de 2018 - 18:53
por sfonteneau
Necesitas iniciar PyScripter a través de Wapt.

Haz clic derecho en un paquete y selecciona Editar.

Como alternativa, usa el "Asistente para crear paquetes" desde la consola.

O bien, abre un archivo PsProj existente con C:\Archivos de programa (x86)\wapt\waptpyscripter.bat.
En PyScripter, ve a Proyecto > Abrir proyecto > Abrir PsProj.

Re: Probar el script localmente

Publicado: 11 de julio de 2018 - 19:36
por david999
Hola,

gracias por la información.
Ahora puedo abrir el archivo psproj del paquete en cuestión desde PyScripter.
Sin embargo, al ejecutar el código del archivo setup.py, me devuelve el error: "
No se encontró el módulo setuphelpers".

En la estructura de directorios psproj de PyScripter, sí veo un archivo setuphelpers, pero:
1. No sé cómo indicarle su ubicación
. 2. ¡El archivo setuphelpers está vacío!

Disculpen, supongo que mi pregunta es muy básica y sencilla, pero no sé cómo proceder...


Gracias de nuevo por su ayuda.


David

Re: Probar el script localmente

Publicado: 12 de julio de 2018 - 09:23
por htouvet
Hola,

ten la seguridad de que lo que pides no es trivial...
Hay dos posibles problemas:
- Entorno de Python
- Rutas en el archivo wapt.psproj.

Entorno de Python:

Wapt tiene su propio intérprete y entorno de Python (en c:\program files(x86)\wapt).
Y PyScripter no conoce inicialmente este entorno.

Si tienes la versión 3.4.1 de PyScripter (la que está en nuestro repositorio), hay una función que te permite agregar la ruta al entorno de Python de Wapt a PyScripter, de modo que todas las bibliotecas asociadas (incluidos setuphelpers) estén disponibles.

menú Ejecutar / Versiones de Python / Configurar Python
. Haz clic en el botón + y selecciona el directorio de Wapt (por defecto, c:\program files(x86)\wapt).
En la lista "Versiones no registradas", selecciona la carpeta Wapt y haz clic en el primer botón en la esquina superior izquierda (Activar la versión de Python seleccionada).

Desde ahí, puedes probar y depurar sin errores.

En la barra de herramientas de PyScript hay un botón (icono de Python) para hacer lo mismo.

Otra solución es usar la consola de Wapt para editar el paquete. Cuando la consola inicia PyScript, configura las variables de entorno y los argumentos correctos para que PyScript use el intérprete de Wapt.

Como alternativa, puedes usar la línea de comandos:
`wapt-get edit`.

Esto hace lo mismo que en la consola.

Rutas en el archivo wapt.psproj:

El archivo wapt.psproj almacena las rutas (absolutas en versiones anteriores de Wapt...) a, entre otras cosas, el archivo wapt-get.py.

wapt-get.py se utiliza para probar paquetes.

Debe verificar esto haciendo clic con el botón derecho en la configuración de ejecución (Configuración de ejecución), por ejemplo, "Instalar" / Editar configuración de ejecución.

El script de Python / Nombre de archivo: debe apuntar al directorio correcto para su instalación. Normalmente c:\Archivos de programa (x86)\wapt, pero anteriormente era c:\wapt.

Re: Probar el script localmente

Publicado: 12 de julio de 2018 - 09:52
por david999
Hola htouvet,

¡muchísimas gracias!
Después de añadir la ruta de la carpeta Wapt a "Versiones no registradas" y habilitarla, ¡todo funciona!
Por fin puedo ejecutar todas mis pruebas localmente en mi máquina de pruebas.

La solución del servidor también es interesante, pero en este caso, es principalmente para probar cosas en una máquina específica.
Y, efectivamente, las rutas en el archivo wapt.psproj apuntan a la antigua carpeta de instalación de Wapt.
Así que pude cambiarlas.

De nuevo, ¡muchísimas gracias por tu ayuda y todas estas explicaciones detalladas!


Que tengas un buen día,

David.