Foros del Web » Programando para Internet » Python »

Generar .exe file desde script

Estas en el tema de Generar .exe file desde script en el foro de Python en Foros del Web. Hola, estoy tratando de generar un archivo .exe para mi script. Para ello estoy usando py2exe. Todo funciona bien, el .exe se crea pero al ...
  #1 (permalink)  
Antiguo 03/04/2014, 08:41
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 10 años, 6 meses
Puntos: 0
Generar .exe file desde script

Hola, estoy tratando de generar un archivo .exe para mi script. Para ello estoy usando py2exe.

Todo funciona bien, el .exe se crea pero al intentar ejecutarlo me sale esto:

Código Python:
Ver original
  1. Traceback (most recent call last):
  2.   File "tester.py", line 2, in <module>
  3.   File "tables\__init__.pyc", line 82, in <module>
  4. ImportError: cannot import name get_pytables_version

No tengo ni idea de por que sale esto, pytables esta instalado y funcionando perfectamente.

En el Traceback, la linea 2 de "tester.py" es esta:

Código Python:
Ver original
  1. from tables import *

Para generar el .exe estoy utilizando un script que he encontrado por internet, es este:

Código Python:
Ver original
  1. from distutils.core import setup
  2. import py2exe
  3. from distutils.filelist import findall
  4. import os
  5. import matplotlib  
  6.    
  7.  
  8. matplotlibdatadir = matplotlib.get_data_path()    
  9. matplotlibdata = findall(matplotlibdatadir)            
  10. matplotlibdata_files = []
  11. for f in matplotlibdata:
  12.     dirname = os.path.join('matplotlibdata', f[len(matplotlibdatadir)+1:])
  13.     matplotlibdata_files.append((os.path.split(dirname)[0], [f]))
  14.  
  15. setup(windows=['tester.py'],options={'py2exe': {'packages' : ['matplotlib','pylab','pytz', 'tables'],'dll_excludes': ['libgdk-win32-2.0-0.dll','libgdk_pixbuf-2.0-0.dll'],}},data_files=matplotlibdata_files)
  #2 (permalink)  
Antiguo 03/04/2014, 14:52
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Generar .exe file desde script

Hola edanvar, probá quitando el módulo "tables" y compilalo y ahí fijate si te da error nuevamente.
Yo cuando hice un programa utilicé librerías que no están incorporadas en Python y no hizo falta agregarlas en el setup.py y el programa me funciona perfectamente!

a esto:

Código Python:
Ver original
  1. setup(windows=['tester.py'],options={'py2exe': {'packages' : ['matplotlib','pylab','pytz', 'tables'],'dll_excludes': ['libgdk-win32-2.0-0.dll','libgdk_pixbuf-2.0-0.dll'],}},data_files=matplotlibdata_files)

dejalo así:

Código Python:
Ver original
  1. setup(windows=['tester.py'],options={'py2exe': {'packages' : ['matplotlib','pylab','pytz'],'dll_excludes': ['libgdk-win32-2.0-0.dll','libgdk_pixbuf-2.0-0.dll'],}},data_files=matplotlibdata_files)

Quizás no sea la solución, pero no perdés nada con probar!!!

Espero que lo solucionés!!
  #3 (permalink)  
Antiguo 03/04/2014, 23:48
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Generar .exe file desde script

Gracias amigo, pero no ha funcionado, incluso he obtenido un Traceback peor que el que me salia incluyendo 'tables'

Código Python:
Ver original
  1. Traceback (most recent call last):
  2.   File "tester.py", line 4, in <module>
  3.   File "tables\__init__.pyc", line 82, in <module>
  4.   File "tables\utilsextension.pyc", line 12, in <module>
  5.   File "tables\utilsextension.pyc", line 10, in __load
  6.   File "utilsextension.pyx", line 281, in init tables.utilsextension (tables\utilsextension.c:16638)
  7. ImportError: No module named _comp_lzo
  #4 (permalink)  
Antiguo 04/04/2014, 00:17
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Generar .exe file desde script

La verdad nunca usé el módulo 'tables' pero he usado módulos externos y los he instalado y cuando pasé mi programa a .exe no tube problemas.
Pero cláro acá el tema está en algo muy similar a lo que me pasó cuando cambié mi version de wxPython, yo tenía la 2.8 y la cambié a la última 3.0 y por más que la 3.0 estaba disponible para Python 2.7, me daba un error similar al tuyo.

Creo que el problema es que has bajado una versión incompatible con la version de tu Py, creo que ese es el problema porque mirá el error que te daba antes:

get_pytables_version

osea al parecer es un problema con la versión, prueba a corroborar que la que bajaste e instalaste sea la adecuada!!

Disculpa que no pueda darte más ayuda, soy muy novato todavía.


PD: Podés usar otro compilador para pasar tu programa a ejecutabe (.exe), quizás el problema es de py2exe, utilizá el PyInstaller que está bastante bueno también.
Esta es la web Oficial, haz clic aquí

Última edición por Principe_Azul; 04/04/2014 a las 00:26 Razón: PosData
  #5 (permalink)  
Antiguo 04/04/2014, 00:37
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Generar .exe file desde script

Gracias de nuevo,

Parece que con pyinstaller si que ha funcionado y el exe ya se puede ejecutar.

Es raro lo de py2exe, lo que comentabas de las versiones, la verdad es que no tengo ni idea, ya que, para trabajar con python, yo descargue el paquete Python(x,y) que ya trae todo incluido, tables, numpy etc etc y la verdad es que todo funciona correctamente.

El unico problema me lo ha dado al intentar hacer el .exe

Pero bueno, parece q pyinstaller va bien.

Aunque me sigue quedando la duda de saber que pasa con py2exe.

Gracias.
  #6 (permalink)  
Antiguo 04/04/2014, 01:16
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Generar .exe file desde script

Esa misma pregunta la tengo yo también amigo, de hecho yo iba a cambiar py2exe por PyInstaller, porque cuando compilé a ejecutable mi programa que utiliza el Framework wxPython, me daba un error, osea el programa se compilaba bien y no daba errores, pero al ejecutar .exe me salía una ventana de información avisándome de un error que tenía mi programa, volví a dejar mi wxPython como lo tenía antes osea a la versión 2.8, pero por poco cambio a PyInstaller.

El amigo carbon fue quien ha experimentado estos errores extraños de py2exe, y por eso te recomendé PyInstaller ya que el a mi me lo recomendó!!!

Cabe aclarar que mi programa al compilarlo a .exe con la versión de wxPython 3.0.0.0 me daba error, pero si yo no lo compilaba, osea solamente ejecutaba el programa con la extensión .py (sin compilar), funcionaba perfectamente, por lo que el error era de py2exe.
Espero que resuelvan esos errores o al menos saber porque suceden estas cosas, soy un ignorante en Py así que puedo hablar algo incorrecto, pero esa fue mi experiencia y la de mi amigo carbon.

Me alegro que hayas podido crear tu programa sin problemas, ayudar a alguien me alegra amigo y más cuando mi ayuda es la solución!!!!!!
Gracias campeón!!
  #7 (permalink)  
Antiguo 04/04/2014, 02:35
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Generar .exe file desde script

Gracias a ti por tu ayuda,

A mi tambien me pasa como a ti:

EN RESUMEN:

- el script .py funciona perfectamente, pytables (tables) se importa sin problemas como from tables import * y no da ningun fallo.

- el archivo .exe desde py2exe no fuciona nada, error (desconocido) al importar tables, incluso incluyendo 'tables' al generar el .exe

- el archivo .exe funciona sin problemas creandolo desde pyinstaller, no hace falta ninguna referencia a 'tables'
  #8 (permalink)  
Antiguo 04/04/2014, 20:54
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Generar .exe file desde script

Muuuy bien! Me alegro que hayas podido hacer tu programa y sigue con PyInstaller que esta bien (como dirian los Mexicanos) chulo !!!

Nos vemos amigo!! Suerte!!

Etiquetas: exe, file, ip, usando
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:52.