Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Error al compilar programa a ejecutable

Estas en el tema de Error al compilar programa a ejecutable en el foro de Python en Foros del Web. Hola amigos!! Hoy quiero publicar mi Buscador de Puertos TCP así pueden usarlo, pero al intentar compilarlo me surgió un problema/error. Para compilarlo uso este ...
  #1 (permalink)  
Antiguo 25/03/2014, 17:52
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Error al compilar programa a ejecutable

Hola amigos!!
Hoy quiero publicar mi Buscador de Puertos TCP así pueden usarlo, pero al intentar compilarlo me surgió un problema/error.
Para compilarlo uso este comando desde la Consola de Windows:

python.exe setup.py py2exe

Anteriormente ya lo había hecho con la versión anterior de wxPython y me lo compilaba bien, ahora también lo hice, no vi ningún error en la CMD, pero al ejecutar el programa me apareció una ventana de información avisandome sobre un error y que el mismo estaría en C:\Python27\dist\Buscador de Puertos TCP.exe.log, abro ese archivo y veo esto:

Código Python:
Ver original
  1. Traceback (most recent call last):
  2.   File "Buscador de Puertos TCP.py", line 4, in <module>
  3.   File "wx\__init__.pyc", line 45, in <module>
  4.   File "wx\_core.pyc", line 125, in <module>
  5. AttributeError: 'module' object has no attribute 'PROCESS_ENTER'

Y el programa no abre!!
¿Como puedo solucionar este problema?

Gracias como siempre amigos!!
  #2 (permalink)  
Antiguo 25/03/2014, 18:25
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Error al compilar programa a ejecutable

Probaste al 100% el programa con la nueva versión de wxPython?
  #3 (permalink)  
Antiguo 25/03/2014, 18:34
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error al compilar programa a ejecutable

Si amigo, el escaner funciona perfectamente antes de ser compilado a .exe, pero despues de compilarlo me da ese error, no entiendo porque me da despues de compilar, si antes de compilarlo me funciona bien.
Además esa versión es para Python 2.7.5 y no debería dar ningún problema.
  #4 (permalink)  
Antiguo 26/03/2014, 16:10
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Error al compilar programa a ejecutable

Mmm fijate este muchacho tenía el mismo problema y al parecer lo solucionó: https://groups.google.com/forum/#!ms...k/hS9rct9Cz_AJ.

Presta atención a esto:

Cita:
I found some old frame styles I was using which has shifted the
Attribute error to new one.

[...]

It's something to keep in mind for anyone migrating from their older
code. Thanks for your assistance.
  #5 (permalink)  
Antiguo 26/03/2014, 16:29
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error al compilar programa a ejecutable

Pues ayer estaba buscando en Google ese error que me surgió a mi y también había leído ese mismo foro, pero ahí no da ninguna solución, o por lo menos no aparece ningún método a utilizar para poder resolver este problema.
Ese chico cree que probablemente sea py2exe el problema porque sin compilarlo le funciona bien, como a mi también.
¿Pero que solución tengo? ¿Tendría que volver a poner wxPython 2.8?
El problema no es tanto ahora, sino en el futuro porque puedo tener más errores en mis programas compilados. Aunque cláro tengo que solucionar este problema.
Quizás la mejor manera sea volver a poner wxPython 2.8.
Se me acaba de cruzar por la cabeza que el problema es como dijo este chico que utilizó otros estilos de marco, porque cláro al actualizar un programa siempre van a cambiar los comandos, métodos, atributos, nombre de controles, etc.
Osea que, lo que debería hacer es leer la nueva documentación de wxPython 3.0 y ver que cambios hay y luego modificar mi código y compilarlo y ver nuevamente si este problema se extingue.
Aunque es raro que el programa funcione bien antes de ser pasado a ejecutable

PD: Creo que ese chico el del foro no pudo resolver ese problema, de hecho ayer vi su mismo post en difentes foros que nadie le había respondido, al parecer es algo complicado de solucionar, ojalá me equivoque.

Última edición por Principe_Azul; 26/03/2014 a las 16:41
  #6 (permalink)  
Antiguo 26/03/2014, 16:52
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Error al compilar programa a ejecutable

Fijate eso de los frames, parece ser que ese era el problema . O mejor, proba usando PyInstaller, creo que está mejor que py2exe y capaz no tenes problemas!
  #7 (permalink)  
Antiguo 26/03/2014, 17:46
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error al compilar programa a ejecutable

Veo que PyInstaller es mucho más complicado que py2exe, en realidad yo no busco cambiar el programa para hacer los ejecutables, sino resolver este problema.
Esto me lleva más tiempo tener que leer e intentar entender esas páginas en inglés que explican muchas cosas que no voy a usar, yo necesito algo sencillo, todavía soy novato en esto y no entiendo la instalación de ese programa.
Lamentablemente todos los programas o casi todos siempre son creados por personas de habla inglesa y es bastante complicado andar buscando manuales en español, esto lo piden muchas personas que hablan nuestro idioma.
Es más ni siquiera explican en las páginas que andube viendo si hay que desinstalar py2exe para luego poder instalar PyInstaller.
Osea es muy complicado todo eso para tan solo crear un ejecutable practicamente simple.
Yo siempre con py2exe andube bien y me decis que pruebe con PyInstaller pero no me dejas algun manual/tutorial en español, porque como me habías dicho que habías compilado tus programa con PyInstaller y te andubo muy bien, entónces sabes como hacerlo, pero yo no
Voy a tener que cambiar nomás wxPython a la antigua versión porque estas cosas no me gustan, es que cláro es volver a leer de nuevo lo mismo, si yo no tenía problemas con py2exe.
Si el programa mío falla con py2exe es muy probable que también falle con PyInstaller.
Yo siempre trato de no actualizar mis programas como ser Python ya que al actualizarlo podría tener estos problemas que no son necesarios que los tenga, prefiero algo viejo pero que ande.
Además hasta que alguien se digne en hacer un manual en español, ya saldrá otra nueva versión de Python por ej.
Esto es un caos para mí estas cosas, yo aprendí mucho sobre mSL que a pesar de no ser nada para programadores, pero aun así ayudé a muchas personas explicándoles como se hace esto o el otro, por más que sea extremadamente fácil, cuando tenía mi Foro lo hacía.
Soy sólo en todo esto y muchas veces la ayuda de muchas personas es muy precaria, yo no soy así, siempre trato de explicar lo mejor posible si es que lo sé, cláro.
Voy a volver a wxPython 2.8 así no me amargo el día.

Última edición por Principe_Azul; 26/03/2014 a las 17:51
  #8 (permalink)  
Antiguo 27/03/2014, 17:56
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Error al compilar programa a ejecutable

Hola. Lamento no haberte podido darte algo de info en español de PyInstaller, es que realmente es muy fácil, pero claro, no tienes por qué saberlo. Y para serte sincero, no he leído ni el 1% de la documentacion de PyInstaller. Simplemente he bajado el archivo .tar.gz (creo que era esta la extension), lo extraje y luego hago desde la linea de comandos:

pyinstaller.py script.py

Eso me crea una carpeta y ahí dentro aparece el .exe. Si quiero que meta todo adentro de 1 solo archivo .exe, sin dependencias ni nada, hago así:

pyinstaller.py --onefile script.py

Y si le quiero poner un ícono:

pyinstaller.py --onefile --icon=archivo.ico scrip.py

Y me pasé de py2exe a PyInstaller por lo mismo que vos, py2exe me daba muchos problemas con cosas como wx y otras librerias! PyInstaller nunca se quejó de nada, me solucionó todo!

Espero que te sirva tanto como a mi!

  #9 (permalink)  
Antiguo 27/03/2014, 18:17
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error al compilar programa a ejecutable

Excelente!! muy buen aporte y gracias amigo como siempre.
He cambiado nuevamente a wxPython 2.8 y he publicado mi programa, es que es lógico que todavía no haya ayuda en español o sea difícil o medio difícil de encontrarla, porque es la última versión.
Lo que no entiendo es esto:

pyinstaller.py script.py

ese archivo script.py que sería? mi programa? o hay que crear un archivo setup.py como py2exe?
parece que ese script.py es sólo un nombre de ejemplo que debería ser cambiado por el nombre de mi programa, es así amigo?
Andube leyendo ayer en internet que el nombre de la carpeta depende de la versión de PyInstaller, osea que supongamos que PyInstaller esté en la versión 1.4

El directorio debería quedar así?:

C:\Python27\PyInstaller-1.4\

con color rojo sería el nombre de la carpeta, así se debe hacer y luego ejecutar el comando para compilarlo a .exe en la CMD?
O hay que utilizar el mismo nombre del programa PyInstaller cuando se lo descomprime?

Gracias nuevamente amigo!!

PD: Me encantaría que probaras mi Buscador de Puertos TCP y me dieras tu opinión, consejo, mejora y/o crítica.
  #10 (permalink)  
Antiguo 28/03/2014, 18:04
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Error al compilar programa a ejecutable

Hola. Mirá, el procedimiento sería asi: vos te bajas el archivo comprimido, lo descomprimis en donde quieras, no hace falta que sea la carpeta de Python, tampoco requiere instalacion. Una vez que hiciste eso, supongamos que te quedo en C:\Principe_Azul\PyInstaller\. Entonces vas a Inicio > Ejecutar > cmd, para abrir el command de windows y pones:

cd C:\Principe_Azul\PyInstaller

asi te ubicas en la carpeta donde esta pyinstaller. Supongamos que tienes tu programa en C:\Principe_Azul\buscador_de_puertos_tcp\script.py , en donde script.py es el archivo que abris como para que se ejecute tu programa, el principal. Entonces haces:

pyinstaller.py C:\Principe_Azul\buscador_de_puertos_tcp\script.py

O tambien podes agarrar todo lo que hay en buscador_de_puertos_tcp, y lo pegas en la carpeta de PyInstaller. Ahi directamente haces

pyinstaller.py script.py

Te va a crear el ejecutable y despues ya podes borrar todos los archivos que copiaste.

Espero haberme explicado bien.

  #11 (permalink)  
Antiguo 28/03/2014, 23:18
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error al compilar programa a ejecutable

He probado los pasos para compilarlo a .exe, pero cuando lo hice me salió este msj en la CMD:

Código:
C:\PyInstaller-2.1>pyinstaller.py "C:\Buscador de Puertos TCP\Buscador de Puerto
s TCP.py"
Error: PyInstaller for Python 2.6+ on Windows needs pywin32.
Please install from http://sourceforge.net/projects/pywin32/

C:\PyInstaller-2.1>
Voy hasta esa web y descargo un archivo "README.txt", lo traduzco y dice esto:

Bienvenido a las descargas para pywin32.

Para descargar pywin32, seleccione el botón "Ver todas las descargas", a continuación,
seleccionar el ejecutable del instalador para su sistema. Tenga en cuenta que no es uno
paquete de descarga para cada versión compatible de Python - por favor compruebe lo
versión de Python que ha instalado y descargar la correspondiente
paquete.

Algunos paquetes tienen una de 32 bits y una versión de 64 bits disponible - debe descargar
la que corresponde a la de Python que ha instalado. Incluso si usted tiene
un equipo de 64 bits, si ha instalado una versión de 32 bits de Python debe instalar
la versión de 32 bits de pywin32.

Si el proceso de instalación le informará de que Python no se encuentra en la
registro, es casi seguro que significa que usted ha descargado la versión incorrecta -
ya sea para la versión incorrecta de Python, o el "bittedness" equivocado.

Una lista de cambios se puede encontrar en http://pywin32.cvs.sourceforge.net/viewvc/pywin32/pywin32/CHANGES.txt?view=markup


En la carpeta de PyInstaller hay un subcarpeta que dice "doc", entré ahí y abrí un archivo de nombre "Manual" en formato .pdf y me parece que si necesita instalación PyInstaller.
Al comienzo de ese manual dice esto:


Código:
Installing in Windows

For Windows, PyWin32 is a prerequisite. Follow that link and carefully read the instructions; there is a
different version of PyWin32 for each version of Python. With this done you can continue to install pip
using the MS-DOS command line.

However it is particularly easy to use pip-Win, which sets up both pip and virtualenv and makes it simple
to install packages and to switch between different Python interpreters. (For more on the uses of
virtualenv, see Supporting Multiple Platforms below.)

When pip-Win is working, enter this command in its Command field and click Run:

    venv -c -i pyi-env-name

This creates a new virtual environment rooted at C:\Python\pyi-env-name and makes it the current
environment. A new command shell window opens in which you can run commands within this
environment. Enter the command

    pip install PyInstaller

Whenever you want to use PyInstaller,

    • Start pip-Win
    • In the Command field enter venv pyi-env-name
    • Click Run

Then you have a command shell window in which commands execute in that environment.


Installing from the archive


You can also install PyInstaller by downloading the compressed archive from PyPI and expanding the
archive.

Inside the archive is a script named setup.py. Execute python setup.py install with
administrator privilege to install or upgrade PyInstaller.

For platforms other than Windows, Linux and Mac OS, you must build a bootloader program for your
platform before installing the Python package.

    • cd into the distribution folder.
    • cd bootloader.
    • Make a bootloader with: python ./waf configure build install.

If this reports an error, read Building the Bootloader below, then ask for technical help. It is of no use to
continue the installation without a bootloader. After the bootloader has been created, you can run
python setup.py install with administrator privileges to complete the installation.
Parece que si necesita instalación amigo.
Gracias nuevamente!!

PD: La versión que me he bajado es esta:

Código:
      Archivo         |                     MD5           |   Descripción    | Python versión
PyInstaller 2.1 (zip) | 3eb18a454311707ab7808d881e677329  |  Stable Release  |  2.4 - 2.7

Última edición por Principe_Azul; 28/03/2014 a las 23:32
  #12 (permalink)  
Antiguo 29/03/2014, 08:16
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Error al compilar programa a ejecutable

Que raro, yo no tuve que instalar nada. Pero bueno, aqui tenes las descargas de pywin32: http://sourceforge.net/projects/pywi...2/Build%20218/. Selecciona la apropiada para tu version
  #13 (permalink)  
Antiguo 29/03/2014, 23:54
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error al compilar programa a ejecutable

Gracias como siempre amigo!!
  #14 (permalink)  
Antiguo 30/03/2014, 08:12
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Error al compilar programa a ejecutable

De nada

Etiquetas: compilar, ejecutable, programa, usar, ventana, wxpython
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 21:23.