Página 1 de 2

Instalar y ejecutar módulo

NotaPublicado: 2014-06-20 19:02 @834
por 19ctrj88
Buenas noches.

Soy principiante y realmente no sé cómo instalar (ruta) un módulo y ejecutarlo.

No logro comprender cómo hacerlo desde la consola DOS (estoy en Windows).

En el programa para ejecutar un módulo me sale

**** can´t locate Weather/OpenWeatherMap.pm in @INC ...***

Me siento perdido.
Agradecería su ayuda.

Muchas gracias.

Re: Instalar y ejecutar módulo

NotaPublicado: 2014-06-20 19:18 @846
por explorer
Bienvenido a los foros de Perl en Español, 19ctrj88.

Hay un hilo donde se explica cómo instalar módulos.

Depende de la distribución Perl que hayas instalado. ¿Cuál es?

Re: Instalar y ejecutar módulo

NotaPublicado: 2014-06-20 22:28 @978
por 19ctrj88
Disculpas por la tardanza.

Seguí uno de los tutoriales e instalé el PERL PACKAGE MANAGER (PPM).

Instalé el Weather-OpenWeatherMap para obtener el pronóstico del tiempo de una ciudad, por ejemplo.
(Es una tarea que tengo).

También tenía instalado el "PADRE, The Perl IDE" donde programaba haciendo unos ejemplos.
No sé cómo sería pero ahí ingresé el contenido de este módulo del WEATHER...

**********************************************************************************

use Weather::OpenWeatherMap;

my $api_key = 'foo';

my $wx = Weather::OpenWeatherMap->new(
api_key => $api_key,
);

# Current conditions:
my $current = $wx->get_weather(
location => 'Manchester, NH',
);
my $tempf = $current->temp_f;
my $wind = $current->wind_speed_mph;
# (see Weather::OpenWeatherMap::Result::Current)

# Forecast conditions:
my $forecast = $wx->get_weather(
location => 'Manchester, NH',
forecast => 1,
days => 3,
);
for my $day ($forecast->list) {
my $date = $day->dt->mdy;
my $temp_lo = $day->temp_min_f,
my $temp_hi = $day->temp_max_f,
# (see Weather::OpenWeatherMap::Result::Forecast::Day)
}
# (see Weather::OpenWeatherMap::Result::Forecast)

# Find a city:
my $search = $wx->get_weather(
location => 'Manchester',
find => 1,
max => 5,
);
for my $place ($search->list) {
my $region = $place->country;
# ...
}
# (see Weather::OpenWeatherMap::Result::Find)

******************************************************************

Desde la inexperiencia pensé que solo metiendo eso me salía la respuesta en la consola pidiendo que ingrese una ciudad,
pero me sigue apareciendo el mensaje de CANNOT LOCATE MODULE/BLA/BLA ...

¿Tengo que usar el "PADRE" o se puede hacer algo más aparte con PPM ???

Gracias.

Re: Instalar y ejecutar módulo

NotaPublicado: 2014-06-20 23:07 @005
por explorer
No nos has dicho qué distribución de Perl tienes instalada.

PPM no es una distribución Perl. Es una herramienta de instalación de módulos que viene por defecto al instalar la distribución ActivePerl de ActiveState. ¿Es esa la distribución Perl que has instalado?

Hay una guía de instalación de esta distribución.

Si te sigue saliendo el error, es que no está bien instalado. En el enlace que te puse hay un método para saber si un módulo está bien instalado.

Generalmente, si el módulo aparece en la lista que muestra el PPM, es que se puede instalar sin problemas. Veo en su matriz de compatibilidad que sí funciona en Windows.

Padre es un IDE (entorno de desarrollo integrado). No es propiamente una herramienta para instalar módulos, sino para desarrollar programas.

Re: Instalar y ejecutar módulo

NotaPublicado: 2014-06-20 23:24 @017
por 19ctrj88
Tengo instalada la versión del "PADRE IDE" que tenía instalada es DWIM Perl Versión 5.14.2.1 v7 32 bit,
y el último que descargué fue el ActivePerl 5.16.3 build 1604 de 64 bits. Ahí usé el PPM para descargar
puntualmente ese módulo siguiendo los pasos del enlace anterior.

¡Qué pena no saber qué estoy haciendo mal! Únicamente necesito ingresar una ciudad y obtener datos del pronóstico y me aparece el mensaje CANNOT LOCATE...

¿ Utilizando el "PADRE" copiando ese código y ejecutando sería suficiente para obtener lo que se necesita ?

Gracias por las respuestas, explorer :)

Re: Instalar y ejecutar módulo

NotaPublicado: 2014-06-20 23:46 @032
por explorer
Te repito que el Padre es un entorno de desarrollo. Te sirve para editar tus programas y, eventualmente, para ejecutarlos, pero lo mismo lo puedes hacer con el bloc de notas (Notepad) y el entorno de línea de comandos de MSDOS (cmd.exe de Windows).

Lo que realmente necesitas es instalar bien el módulo.

No conozco la distribución DWIM, pero lo que sí te recomiendo es que no instales más de una distribución Perl al mismo tiempo. Y nos dices que además de la DWIM has instalado la ActivePerl.

Te recomiendo, primero, que desinstales todas las distribuciones Perl y elijas una sola. Si viste el Weather-OpenWeatherMap en el PPM, entonces instala solo el Active Perl y a continuación arranca el PPM e instala el Weather-OpenWeatherMap.

Para saber si está bien instalado, arrancas un cmd.exe de Windows y ejecuta

perl -MWeather::OpenWeatherMap -E 1

Si no sale ningún mensaje, es que está bien instalado. A partir de ahí, puedes usar un editor de textos (el Notepad++ es una buena opción) para crear tu programa, y luego lo grabas, y lo ejecutas desde la línea de comandos con perl programa.pl.

Re: Instalar y ejecutar módulo

NotaPublicado: 2014-06-21 00:02 @043
por 19ctrj88
Afortunadamente, está bien instalado.

Ya verifiqué eso.

Ya está casi a punto... pero salta un error acerca de la variable STR.

En otro tutorial vi que hacían referencia en un comentario acerca de esa variable.

Ahí está adjunto el error que devuelve. Cabe aclarar que tengo experiencia en otros lenguajes.

Ahí adjunto la imagen del error...

Con Perl practiqué poco y tengo a medias visto el tema de usa "$" para una variable y otras cuestiones que seguro desconozco. Tengo como tarea invocar este modulo para lo que ya mencioné antes.

Ahí adjunto el error.

Undef did not pass type constraint "STR" <in $args->("api_key")> at forecast.pl line 5
"Str" is a subtype of "Value"
"Value" is a subtype of "Defined"
Undef did not pass type constraint "Defined" <in $args->("api_key")>
"Defined" is defined as: <defined<$_>>

Re: Instalar y ejecutar módulo

NotaPublicado: 2014-06-21 00:13 @050
por 19ctrj88
Bueno, lo intenté de nuevo con el Padre inconscientemente...

Ahí lo probé con el Notepadd++ y lo llamé explorer.pl para diferenciar aparte de los otros ejemplos.

Y no pasó nada. No me marcó ningún error pero tampoco me devolvió algo.

Editados los mensajes, mil disculpas :)

Bueno volviendo al tema la final no me devolvio nada, ni bueno ni malo. :)

Que deberia hacer ahora ? Pense que me iba a pedir una ciudad por nombre o codigo por ejemplo y me iba a devolver algo...

Re: Instalar y ejecutar módulo

NotaPublicado: 2014-06-21 00:15 @052
por explorer
Por favor, no adjuntes capturas de pantalla.

Solo copia y pega el texto de esas ventanas.

Por favor, reedita tus mensajes y quita esas capturas de pantalla y ponlas como texto.

El mensaje de error que sale en la primera captura indica que no se ha podido crear un objeto Weather::OpenWeatherMap.

Lo más seguro es que no hayas puesta una clave de la API correcta.

Re: Instalar y ejecutar módulo

NotaPublicado: 2014-06-21 00:32 @064
por 19ctrj88
Ahí los edité...
Pido disculpas.

No comprendo cuando usted dice que "lo más seguro es que no haya puesto una clave de la API correcta".
Ahí realmente estoy más perdido que nunca.

Después lo probé con el Notepad++ y cuando ejecuté desde el cmd no me devolvió nada bueno ni malo...