• Publicidad

Crear ejecutable de scripts en Perl para Windows

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Crear ejecutable de scripts en Perl para Windows

Notapor explorer » 2011-10-26 20:17 @887

Yo probaría a poner la ruta completa al módulo, en el include, o poner la ruta en la línea de comando, con la opción -I.

P.D. Esto son suposiciones. Yo no he usado nunca este tipo de programas, pues nunca me han hecho falta, en los ocho años que llevo con Perl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Crear ejecutable de scripts en Perl para Windows

Notapor jacks » 2011-10-27 04:38 @234

Hola.

He probado con - I=C:\Perl\site\lib\XML\RSS\FromHTML.pm pero nada, lo crea sin ningún error pero al lanzar el programa me vuelve a salir el fallo de antes.

También he probado a poner la dirección completa en el script y en este caso, al crear el .exe, me dice que no ha podido encontrar dos módulos (File/BSDGlob.pm y el I18N/Langinfo.pm).

Cuando instalé XML/RSS/FromHTML.pm, lo hice desde cpanp y "forzando" el módulo puesto que me decía que no había superado las pruebas. ¿Puede que tenga algo que ver eso?
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Crear ejecutable de scripts en Perl para Windows

Notapor Txemaracas » 2011-10-27 07:46 @365

Yo tengo problema con MySQL. Me dice, en la línea 15:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. sub comprobarDB {
  2.  
  3.         my $db = $_[0];                                                                                            # Recoge los datos pasados desde la  llamada en estas variables.
  4.        
  5.         my @databases = DBI->data_sources("mysqlPP", {host => 'localhost', user => 'root', password => 'pasword'});   # Cogemos la lista de bases de datos presentes en el sistema.
  6.  
  7.         my $base_datos = $db;                               #Introducimos el nombre de la  base de datos que queremos comprobar que está  en la variable $base_datos.
  8.  
  9.         my $dsn = "DBI:mysqlPP:$base_datos";                  # Conformamos el DSN de esa base de datos.
  10.  
  11.         unless ($dsn ~~ @databases) {                       # Si el $dsn no está entre las @databases la creamos.
  12.  
  13.                 my $drh = DBI->install_driver("mysqlPP");     # Carga del controlador mysql
  14.  
  15.                 my $rc = $drh->func("createdb", $base_datos, 'localhost', 'root', 'pasword', 'admin');               # Creamos la base de datos.
  16.         }
  17.        
  18. }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Adjuntos
error.JPG
error.JPG (21.71 KiB) Visto 840 veces
Txemaracas
Perlero nuevo
Perlero nuevo
 
Mensajes: 136
Registrado: 2011-04-04 10:06 @462

Re: Crear ejecutable de scripts en Perl para Windows

Notapor jacks » 2011-10-27 09:40 @444

Hola, Txemaracas. En CPAN, en la documentación de mysqlPP pone que la función func(creatdb) no se puede usar.

Quizás sea ese el error, no lo sé.
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Crear ejecutable de scripts en Perl para Windows

Notapor explorer » 2011-10-27 10:12 @467

Pues... sí... aunque el error dice que mysqlPP ha intentado llamar a un método 'admin', el problema mayor es que la documentación dice que 'createdb' no está implementada en mysqlPP... así que ese módulo no te vale...

Tendrás que seguir buscando cómo poder integrar DBD::mysql dentro del programa.

jacks: has puesto un espacio entre '-I'

jacks y Txemaracas: en la documentación de perl2exe, dice que con el include se puede obligar a perl2exe a que meta en el paquete el/los módulos que se indiquen.

NO hay que poner la ruta hacia el módulo, sino el propio nombre del módulo. Así que, en lugar de

#perl2exe_include "XML/RSS/FromHTML.pm

hay que poner

#perl2exe_include XML::RSS::FromHTML
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear ejecutable de scripts en Perl para Windows

Notapor jacks » 2011-10-27 14:14 @634

Hola, explorer.

Creo que perl2exe es un bucle de errores sin salida. He añadido a mi script la línea que me has comentado y me han salido dos fallos: que no encuentra el módulo File::BSDGlob.pm en la línea 13 de GolbMapper.pm y que no encuentra el módulo I18N::Langinfo.pm en la línea 44 de encoding.pm.

He comentado la línea 13 del primero, y muy bien, pero he comentado la línea 44 del segundo y sigue dándome fallo en la misma línea. No entiendo el porqué de tanto fallo si el programa corre correctamente en mi PC.

Por cierto, yo también uso MySQL con lo cual me dará el mismo error que a Txemaracas. Por más que he buscado no encontrado ninguna posible solución y creo que sería un lio ponerse ahora a cambiar de base de datos y utilizar, por ejemplo, postgreSQL.


EDITADO:

Ya he conseguido solucionar lo de la línea 44. Lo que no se no ve normal vamos es que tenga que incluir tantos módulos. Cada vez que añado uno y lo ejecuto me dice que no encuentra otro y así todo el rato. Así es como voy hasta ahora:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #perl2exe_include XML::RSS::FromHTML
  2. #perl2exe_include Class::Accessor::Fast
  3. #perl2exe_include Class::Accessor
  4. #perl2exe_include Class::Singleton
  5. #perl2exe_include DateTime::Locale::en_US
  6. #perl2exe_include DateTime::Locale::en
  7. #perl2exe_include DateTime::Locale::root
  8. #perl2exe_include Class::MethodMaker::scalar
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


EDITADO2:

Ya he terminado de incluir todos los módulos y he llegado al mismo lugar que Txemaracas: Me pone algo similar a la hora de crear la base de datos.
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Crear ejecutable de scripts en Perl para Windows

Notapor explorer » 2011-10-27 18:41 @820

Es que el tema no está en comentar líneas, porque te arriesgas a que el programa no funcione bien.

Lo que hay que hacer es incorporar esos módulos mediante el include de perl2exe.

No se me ocurre qué se puede hacer, salvo que os pongáis en contacto con el fabricante del producto.

Por otra parte... ¿es tan vital la creación del empaquetado?

En el Wiki de Win32.perl.org, hay una tabla comparativa de distribuciones de Perl para Windows, y en una de las columnas comentan la compatibilidad de esa distribución con el empaquetar PAR. Podría ser otra opción, pero antes agotaría lo que pudiera a perl2exe.

En esa misma página hay comentarios de las distribuciones. Por ejemplo, con la Camelbox, trae soporte para MySQL.

No está la Citrus Perl, que también tiene su propio instalador, pero no os serviría si no habéis usado el entorno gráfico Wx.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear ejecutable de scripts en Perl para Windows

Notapor Txemaracas » 2011-10-28 06:52 @328

¡¡Pues vaya problemón!! La verdad, el otro día, aunque no me acuerdo bien en qué post, vi que a un chico le ocurría lo mismo. Creo que en el 2006 o así, aunque no sé si lo resolvió puesto que le pusiste que con incluir DBD::mysql bastaría pero no respondió más. ¿Y supuestamente con CamelBox sí funcionaria ? ¿Admitiría MySQL?
Txemaracas
Perlero nuevo
Perlero nuevo
 
Mensajes: 136
Registrado: 2011-04-04 10:06 @462

Re: Crear ejecutable de scripts en Perl para Windows

Notapor explorer » 2011-10-28 10:23 @474

El hilo que comentas creo que es este: Como crear un ejecutable.

No lo sé. Yo agotaría antes todas las posibilidades con DBD::mysql en perl2exe. Mandaría un correo a la empresa que lo ha hecho, pero el caso es que en su manual ponen claramente que es mejor usar la versión puro-perl (DBD::mysqlPP), y claro, tú estás haciendo algo muy especial, como crear bases de datos desde cero.

En Internet, las referencias más fiables que me salen están en stackoverflow:
Contienen enlaces a herramientas, y a anteriores comentarios, con más enlaces todavía, pero parece que lo más recomendado es usar PAR.

No sé... ya digo que yo no he usado nunca este tipo de programas, así que no sé cuál es mejor o peor.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear ejecutable de scripts en Perl para Windows

Notapor Txemaracas » 2011-10-30 15:12 @675

Ya le he enviado un email al creador. Ponía que me respondieran a la mayor brevedad. Espero que sea así porque no tengo mucho tiempo. ¿Has encontrado tu alguna solución, jacks?
Txemaracas
Perlero nuevo
Perlero nuevo
 
Mensajes: 136
Registrado: 2011-04-04 10:06 @462

AnteriorSiguiente

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron