Estoy usando py2exe para compilar mi script en un archivo exe para ejecutar en Windows, pero estoy golpeando errores basado en mi sistema operativo, que es Window 7 de 64 bits. Estoy ejecutando la siguiente secuencia de comandos en cmd usando execmaker.py py2exe:

from distutils.core import setup
import py2exe

includes = []
excludes = ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger',
            'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl',
            'Tkconstants', 'Tkinter']
packages = []
dll_excludes = ['libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll', 'tcl84.dll',
                'tk84.dll']

setup(
    options = {"py2exe": {"compressed": 2, 
                          "optimize": 2,
                          "includes": includes,
                          "excludes": excludes,
                          "packages": packages,
                          "dll_excludes": dll_excludes,
                          "bundle_files": 1,
                          "dist_dir": "dist",
                          "xref": False,
                          "skip_archive": False,
                          "ascii": False,
                          "custom_boot_script": '',
                         }
              },
    windows=['My_Script.py'] #this is the name of the script I'm compiling to exe

)

La secuencia real estoy compilando en exe no es importante, porque era completamente bien cuando he compilado usando bundle_files: 3, que no paquete de cualquiera de los archivos y hojas de ~200 .pyo archivos en una carpeta.

Así que vamos a llegar al centro del problema: Como estoy en Win 7 x64, tengo la versión de 64 bits de Python 2.7.5 instalado. Cuando me cd hasta el archivo donde se encuentra el execmaker.py y la My_Script.py archivos y ejecutar cmd (execmaker.py py2exe), me sale un mensaje de error que dice lo siguiente:
error: bundle-files 1 is not yet supported on win64, lo que significa que no va a el paquete de los archivos, ya que mi sistema operativo es de 64 bits. Pensé que tal vez esto era un problema creado porque tengo 64 bits python instalado, pero cuando he desinstalado, he recibido el error DLL load failed: %1 is not a valid Win32 application.

El archivo DLL error de Carga es causada por la ejecución de 32 bits de python en Windows de 64 bits. Así que, básicamente, no funciona con 32 bits o de 64 bits de python porque estoy corriendo Windows de 64 bits. Hay una solución para esto, o tengo que instalar python y todos los módulos que he estado usando en un equipo de 32 bits para hacer la compilación?

Gracias por la ayuda, y por llevar conmigo a través de esta muy larga la pregunta.

Editar – Solución: he hecho un poco más de investigación y vino para arriba con nada. Por ahora, a menos que esta pregunta se responde con algo más eficiente, supongo que la instalación de un sistema operativo de 32 bits en una partición o a través de Parallels (que es como yo lo hice) tendrá que ser suficiente.

Preferiría tener una muy larga la pregunta que bien pensado que algunos de los otros escoria que aparece aquí («mi 400 de la línea de la función tiene un error» sin que se indique el error, y la publicación de una totalmente ajenos pieza de código). Yo sólo deseo que yo podría ayudarte 🙂
Aprecio el sentimiento! La mayoría de mis preguntas anteriores han sido terribles, así que es increíble escuchar que esto podría ser menos.
Intente ejecutar python execmaker.py py2exe. He encontrado que a veces los resultados (de otras secuencias de comandos de python) se diferencian entre invocar explícitamente el intérprete y dejar la Ventana de archivo de asociaciones de manejar.
Tengo el mismo problema, y se fija por la re-instalación de 32 bits de python y de 32 bits py2exe en windows.

OriginalEl autor Ian Zane | 2013-05-16

5 Comentarios

  1. 4

    Supongo que es demasiado tarde para ti ahora, pero para la próxima alma atrapada en un barco, en mi opinión, de una manera más eficiente sería instalar virtualbox (vb) de forma gratuita de oracle y, a continuación, instalar el de 32 bits del sistema operativo. De esa manera usted no tiene que crear una partición en su disco duro o lo que no, y se puede sin ningún riesgo desinstalar el vb como cualquier otro programa.

    Otra opción sería intentar trabajar con pyinstaller. Sólo he utilizado para hacer ejecutables para los sistemas linux, pero creo que se puede utilizar en windows también.

    OriginalEl autor Sason Torosean

  2. 4

    Tuve un problema similar, como el OP. Una aplicación python liado con Py2exe en una de 64 bits de Windows 7 Python2.7 medio ambiente, funcionó bien durante un tiempo por debajo de los 32 bits W7. A principios de agosto de 2013 todavía funcionaba. A finales de noviembre de 2013 se descubrió que había dejado de funcionar a causa de un conflicto de versiones. Mi mejor conjetura es que una actualización de Windows entre esas fechas provocó la contracción de la comprobación de versión.

    Me re-paquete de la aplicación con Py2Exe en mi viejo de 32 bits de Vista Python27 dev máquina, y funcionó de nuevo, ambos menores de 64-bit y 32-bit de Windows.

    Esta respuesta (de aquí) fue el más útil para mí:

    La cosa más fácil de hacer, aunque es sólo para hacer
    asegúrese de que su Windows de 64 bits, la instalación se utiliza una versión de 32 bits de Python
    de la instalación. py2exe realmente no construir nada; simplemente haces
    sus archivos de código fuente con el intérprete de Python, así como el tiempo que
    intérprete de 32 bits se generan los archivos exe debe ser capaz de ejecutar en
    cualquiera de las plataformas.

    Aras de la exhaustividad, este fue el mensaje de error:

    «Esta versión de [nombre del módulo] no es compatible con la versión de Windows que está ejecutando. Revise su información del sistema del equipo para ver si necesita un x86 (32 bits) o x64 (64-bit) versión del programa y, a continuación, en contacto con el editor del software.»

    OriginalEl autor RolfBly

  3. 2

    También estoy ejecutando la aplicación en windows 7. Si usted es capaz de, desinstalar python 2.7 x64, vuelva a instalar python 2.7 x86, y finalmente instalar py2exe. Esto resuelve el problema para mí.

    OriginalEl autor PrestonM

  4. 0

    Hay una línea de exe herramienta del generador (py2exe.net) que «casi» trabajó para mí. Estoy programando en Python 2.7 y me salió molesto de windows de 64 problema cuando se trata de obtener un ejecutable independiente.

    Incluso si el sitio web mencionado el hecho de que está construido para Python 3.x programas, he subido mi programa solo para probar.

    Mi programa usar pygame llamadas a imágenes png, así que me importan las imágenes en el sitio web, así

    Tengo un archivo ejecutable que era casi independiente: la importación de imágenes aparentemente no funcionó ya que el ejecutable sólo podía funcionar en una carpeta que contiene las imágenes. Pero aún así, es mucho mejor que nada.

    OriginalEl autor Glxblt76

  5. -2

    Su problema es que py2exe es la versión de 32 bits y no funciona en x64 de windows.
    Si este es el caso, obviamente, la necesidad de 64 bits py2exe y aquí es en sf.net.

    Creo que yo ya estaba corriendo de 64 bits py2exe, pero sólo para estar seguro, he descargado el archivo y lo ejecutó. Nada se resolvió. Todavía estoy recibiendo el mismo mensaje de error como antes (el mismo que el cartel original estaba preguntando acerca.)

    OriginalEl autor Beglarm

Dejar respuesta

Please enter your comment!
Please enter your name here