py2exe mit sqlalchemy, pyqt and Python 3.5

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
blubbersuelze
User
Beiträge: 20
Registriert: Samstag 11. Juli 2015, 17:54

Hallo zusammen,
ich möchte gerne mein Python Projekt zur Exe bauen lassen mittels py2exe, so das es unter Windows funktioniert.
Unter Linux funktioniert das Projekt tadellos.
Leider bekomme ich beim ausführen folgenden Fehler, ich hoffe mir kann da jemand helfen:

Code: Alles auswählen

C:\Users\builder\Desktop\exampleproject-master>e:\python\python.exe build_exe.py py2exe
running py2exe
running build_py

  1 missing Modules
  ------------------
? readline                            imported from cmd, code, pdb
Building shared code archive 'dist\library.zip'.
Traceback (most recent call last):
  File "build_exe.py", line 19, in <module>
    version='1.0',
  File "e:\python\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "e:\python\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "e:\python\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "e:\python\lib\site-packages\py2exe\distutils_buildexe.py", line 188, in
run
    self._run()
  File "e:\python\lib\site-packages\py2exe\distutils_buildexe.py", line 268, in
_run
    builder.build()
  File "e:\python\lib\site-packages\py2exe\runtime.py", line 250, in build
    self.build_archive(libpath, delete_existing_resources=True)
  File "e:\python\lib\site-packages\py2exe\runtime.py", line 413, in build_archi
ve
    assert mod.__file__.endswith(EXTENSION_SUFFIXES[0])
AssertionError

C:\Users\builder\Desktop\exampleproject-master>

versuche ich das Package "readline" zu installieren bekomme ich folgenden Fehler:
"error: this module is not meant to work in Windows"


weiß jemand wie ich das Python Projekt unter Windows für Windows mittels py2exe gebaut bekomme?

danke für die Hilfe
blubbersuelze
sebastian0202
User
Beiträge: 168
Registriert: Montag 9. Mai 2016, 09:14
Wohnort: Berlin

Hallo,


nach kurzer Recherche zum Modul readline und py2exe lässt sich finden,
dass das Modul ein 'Nice to have' ist. Aber eben nicht zwingen notwendig.
Funktioniert dein Python Code unter Windows denn?

Ansonsten, poste doch mal deine build_exe.py.
blubbersuelze
User
Beiträge: 20
Registriert: Samstag 11. Juli 2015, 17:54

Ich habe den Code unter Linux gebaut und erfolgreich getestet.
Nun will ich unter Windows daraus eine Exe bauen.

Hier mal meine build_exe.py:

Code: Alles auswählen

# coding=utf-8
from setuptools import setup, find_packages
import py2exe
package_templates = {"exampleproject.lng." + package: ["*.lng", "1476313854_report_pencil.png"] for package in find_packages('exampleproject/lng')}

setup(
    name='exampleproject',
    packages=['exampleproject', 'exampleproject.models', 'exampleproject.controls', 'exampleproject.views'],
    package_data=package_templates,
    author=its me',
    author_email='blubbersuelze@googlemail.com',
    description=,
    entry_points={
        'gui_scripts': [
            "exampleproject = exampleproject:run",
        ]
    },
    install_requires=['sqlalchemy', 'PyQt5'],
    version='1.0',
)
sebastian0202
User
Beiträge: 168
Registriert: Montag 9. Mai 2016, 09:14
Wohnort: Berlin

Morgen,

kann sein, dass ich mich irre,
aber ich glaube py2exe brauch dringend einer der beiden Angaben für setup(...) :
  • console=['dein_skript.py']
    windows=['dein_skript.py']
console für Konsolenprogramm und windows für ein Programm mit GUI.

Andererseits sollte man py2exe für python 3.5 aber nicht mehr nehmen.
Ist offiziell nicht kompatibel.

pyinstaller wäre da eine alternative.
blubbersuelze
User
Beiträge: 20
Registriert: Samstag 11. Juli 2015, 17:54

so endlich mal dazu gekommen,

pyinstaller sieht gut aus damit scheint etwas vorwärts zu gehen, jedoch bekomme ich beim ausführen folgenden Fehler:

zum bauen führe ich aus:

Code: Alles auswählen

pyinstaller -F setup.py
und bekomme folgenden Fehler wenn ich nach dem bauen versuche Setup.exe auszuführen:

Code: Alles auswählen

(pyi-env-name) C:\Users\buildenv\Desktop\exampleproject-master-30fdfceada24da7b8a535d3dda90c2e688654cf0\dist>setup.exe
Traceback (most recent call last):
  File "setup.py", line 2, in <module>
  File "c:\python\pyi-env-name\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "site-packages\setuptools\__init__.py", line 160, in <module>
  File "site-packages\setuptools\monkey.py", line 93, in patch_all
  File "site-packages\setuptools\monkey.py", line 145, in patch_for_msvc_specialized_compiler
  File "importlib\__init__.py", line 126, in import_module
ImportError: No module named 'setuptools.msvc'
Failed to execute script setup
Google schweigt sich leider über den ImportError aus.

Ich baue es auf einem puren Windows7 auf aktuellem Patchlevel.
zusätzlich sind noch Microsoft Visual C++ 2010 Runtime und die Python Komponenten installiert.

@sebastian0202
die Setup.py ist absolut korrekt
als Entrypoints müssen console_scripts und/oder gui_scripts vorhanden sein.

gruß und danke für die Hilfe
Benutzeravatar
snafu
User
Beiträge: 6736
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Bitte mal `-v` anhängen (für "verbose"). Ansonsten hilft diesvielleicht.
Antworten