UTNianos

Versión completa: Compilador de Python
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Bueno gente,hoy estoy en rompebolas avanzado,se que dije que me iba a moderar con los threads de esta sección,pero bueh,esto es de muerte o muerte,o mejor dicho,de vida o vida.


La cosa es asi.En los últimos dos meses me he bajado una cantidad mas que respetable (aberrante diría yo) de compiladores que soporten python,entre ellos Eclipse (con el plugin de python),Netbeans 6.5 y recientemente,Geany.
Los probe en linux y windows,y ademas de las similitudes en el entorno gráfico tienen otra cosa en común:ninguno me compila....(el linux es de 64bits y el windows de 32,asi que lo probe en distintas arquitecturas tambíen si se quiere).
Tengo python en su última version (que es la 3.1) y el interprete de ordenes funciona perfectamente.El problema es que en el Netbeans no me aparece la opción de build y en el geany no me aparece para apretar la opción de "compilar" pero si la que dice "construir",le hago click a construir,nada.Entre las subopciones estan make object,make all,etc.Tampoco ninguna me funciona.

El tema es que pense que como python se banca objetos esos compiladores son,justamente para programar en objetos y no toleran estructurado o algo asi,aunque me parece poco probable.

Bueno,si alguien puede darme una solución,se lo agradecería.

ATTE.

John Anthony Bremmer-Williams Watson II (Burgués).
Alias,Rulo.
Hola rulo, mira, cada tanto uso geany para hacer boludeces en c, en ubuntu (32 bits). De python tengo la version 2.6 y acabo de compilar algo bien. Supongo que te estaran faltando paquetes, o el geany no puede ubicar al compilador de python. Tenes el paquete build-essentials instalado ?

Off-topic:
No hace falta que te moderes en esta seccion... prefieron leer 100 posts de desarrollo que uno de politica =P
Ricki escribió:Hola rulo, mira, cada tanto uso geany para hacer boludeces en c, en ubuntu (32 bits). De python tengo la version 2.6 y acabo de compilar algo bien. Supongo que te estaran faltando paquetes, o el geany no puede ubicar al compilador de python. Tenes el paquete build-essentials instalado ?

Creo que es la segunda.Ahora estoy desde windows y me baje el binario ejecutable para windows asi que supongo que los paquetes los tengo todos (y en linux también me baje el tarball que en teoría tendría que tener todo).Antes tenía el 3.1 y no me aparecía la opcion de compilar.Ahora instalé el 2.6 y SI me aparece la opción compilar pero cuando hago click me aparece "create process failed" en las opciones.Al principio del programa le puse el directorio donde estan los modulos y el interprete de órdenes o sea:

#!/c:/Documents and Settings/All Users/Menú Inicio/Programas/Python 2.6/

Y el programa sería este.(Si,mi primer programa en python,bhamo lo' pibe).

from math import pi
print "hola mundo"
radio=(float(raw_input('Dame el radio')))
perimetro=2*pi*radio**2
print perimetro
raw_input

Cuando le mando "ejecutar" (en teoría para ver como funca el programa lo ejecuta en consola) me pone "python no se reconoce como un comando interno o externo,programa por lotes o ejecutable".
Aaaa alguna idea de lo que pasa :P.

Adriano escribió:
Off-topic:
No hace falta que te moderes en esta seccion... prefieron leer 100 posts de desarrollo que uno de politica :P


Off-topic:
Si,calculo que debe ser un dolor de cabeza moderar los post ahi :P.
Mmm, pareciera que no encuentra donde esta el compilador. La instalacion de los modulos es automatica ? Digo, probaria instalarlo (el compilador) en una carpeta directamente en el c con una carpeta de menos de 8 caracteres. Por probar nomas, que sistema de archivo tenes ? me acuerdo que usando anjuta bajo linux, si grababa el fuente en fat32, anjuta (o mas bien gcc) tiraba que no tenia permiso suficiente para tocar el archivo.
anda a la consola, y pone "python".

Si te tira error donde estas (creo que se abre en c:\archivos de programa\ruloreloaded\ =P), entonces fijate donde esta el python.exe, y en tu IDE preferida, cambia la configuracion para que "apunte" a dicho archivo.



P.D.: Python no es un compilador, es un interprete. Por eso en geany no "compilas" (tampoco deberias de poder construir), sino que directamente te deja ejecutar.
Eclipse, Netbeans, Anjuta, son IDEs (entornos integrados de desarrollo), que suelen usar compiladores externos (como gcc, g++, mingw32)
Geany creo q no llega a ser un IDE, es mas un editor de texto liviano y copado.
Hay otros IDEs o editores desarrollados para python. Yo suelo usar el Eric4.

Python, como bien dijo greyhat Teseracto, es un lenguaje interpretado, o sea, no es necesario compilarlo sino que se ejecuta a través de un intérprete (generalemente se usa CPython -tambien llamado simplemente python-).

Para ejecutar un programa, en windows hace c:\ruta\al\interprete\python archivo.py. Ojo, C:/Documents and Settings/All Users/Menú Inicio/Programas/Python 2.6/ parece ser el acceso directo que esta en el menu, no creo q el interprete este ahi... Mas facil si configuras la ruta en el ide...
En linux simplemente python archivo.py que usa el interprete instalado q suele venir por defecto en las distros (si queres usar otro interprete especifica la ruta, obvio)

Igualmente el codigo en python se puede ¨compilar¨, pero lo hace automaticamente el intérprete cada vez q se importa un modulo: se genera un .pyc de éste, que se usará la proxima vez q se ejecute el mismo y lo cargará un poquito mas rapido (en ejecución corre a la misma velocidad q un .py).
Ademas se puede generar un archivo optimizado .pyo que hace algunas optimizaciones basicas, ejecutando python -O archivo.py (tambien esta -OO que hace optimizaciones mas agresivas pero que pueden producir fallos en el programa).
Los .pyc y .pyo son archivos binarios (en bytecode, similares a los q genera java al compilar), pero no son ejecutables! Se tienen que seguir corriendo a través del intérprete. Siguen siendo multiplataformas como los .py (el mismo archivo ¨funciona¨ -siempre que se use la api de python para todo- en linux 32, linux 64, celulares, windows).

Otro tema, en linux es recomendable que uses el interprete que te viene con la distribucion. La rama 3.x de Python recien salio el año pasado e introdujo muchos cambios (no se garantiza compatibilidad hacia la 2.x), y no todos los modulos fueron portados, asi que puede ser buena idea seguir usando la 2.x. Si el codigo anda en la 2.6, se puede portar automaticamente y sin problemas a la 3.x despues.

Espero haber aclarado mas de lo que oscurecí =P
Saludos
Cita:Geany creo q no llega a ser un IDE, es mas un editor de texto liviano y copado

El Geany* es un IDE liviano y copado. Bah, habria que ver la definicion de "IDE".
Geany te trae un campo a la izquierda, en el que te muestran las macros definidas, las funciones, etc, al igual que tiene una opcion de auto-completado, y la posibilidad de vincularlo a compiladores (y ejecutarlo).




* El Geany.... me salio el chico campestre de adentro....
Ricki escribió:Mmm, pareciera que no encuentra donde esta el compilador. La instalacion de los modulos es automatica ? Digo, probaria instalarlo (el compilador) en una carpeta directamente en el c con una carpeta de menos de 8 caracteres. Por probar nomas, que sistema de archivo tenes ? me acuerdo que usando anjuta bajo linux, si grababa el fuente en fat32, anjuta (o mas bien gcc) tiraba que no tenia permiso suficiente para tocar el archivo.

Dale,pruebo,como es el incivilizado XP tengo el NTFS,en linux es reiser4,aunque no me acuerdo si le meti ese o el ext4.


juanman escribió:Igualmente el codigo en python se puede ¨compilar¨, pero lo hace automaticamente el intérprete cada vez q se importa un modulo: se genera un .pyc de éste, que se usará la proxima vez q se ejecute el mismo y lo cargará un poquito mas rapido (en ejecución corre a la misma velocidad q un .py).
Ademas se puede generar un archivo optimizado .pyo que hace algunas optimizaciones basicas, ejecutando python -O archivo.py (tambien esta -OO que hace optimizaciones mas agresivas pero que pueden producir fallos en el programa).
Los .pyc y .pyo son archivos binarios (en bytecode, similares a los q genera java al compilar), pero no son ejecutables! Se tienen que seguir corriendo a través del intérprete. Siguen siendo multiplataformas como los .py (el mismo archivo ¨funciona¨ -siempre que se use la api de python para todo- en linux 32, linux 64, celulares, windows).

Que loco :P Yo pense que se compilaba o algo asi.Debe ser por eso.Igual ahora los programas desde consola (o cmd de windows) me los ejecuta ahora si le mando el .py,pero bueh.Gracias,alto post te mandaste capo.

Teseracto escribió:El Geany* es un IDE liviano y copado. Bah, habria que ver la definicion de "IDE".
Geany te trae un campo a la izquierda, en el que te muestran las macros definidas, las funciones, etc, al igual que tiene una opcion de auto-completado, y la posibilidad de vincularlo a compiladores (y ejecutarlo).

Cool :thumbup:,entonces me queda una pregunta,a lo mejor mucho no tiene que ver con el tema pero es ¿Como y para que se usa? O sea,en el mercado laboral ¿Cuando programas te piden que hagas un .py y listo? Copado =D.
No entiendo tu pregunta.... si programas, no se, en C++, te van a pedir que hagas un .CPP y listo (bah, y un .hpp o algo asi), en php es un .php, en perl es un .pl, o un .cgi, etc ....

Como y para que se usa, que???
Ya esta,no te preocupes.Ahora entendi. ;O.
URLs de referencia