[teilweise gelöst] Pythoncard und py2exe

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
thorbytes
User
Beiträge: 37
Registriert: Samstag 24. Februar 2007, 17:38
Kontaktdaten:

Samstag 24. Februar 2007, 18:13

Hallo zusammen,

Seit einigen Tagen bin ich als eigentlicher PHP-Programmierer dabei mich in wxPython einzuarbeiten, da ich immer häufiger auch selbst programmierte Desktopanwendungen (Crossplattform) benötige.

Die wohl einfachste Lösung für mich, ist die Programme mit Hilfe von PythonCard zu erstellen.

Für die Weitergabe auf Windows-Systemen benötige ich standalone exe-Dateien. Nun habe ich es mit Hilfe dieses Forums und py2exe geschafft, alle benötigten Dateien in eine exe zu packen. Nur die rsrc-Datei von PythonCard nimmt er nicht mit rein.

Weiss jemand, wie ich das zustande bringe?

Code: Alles auswählen

from distutils.core import setup

# py2exe stuff
import py2exe, os
# find pythoncard resources, to add as 'data_files'
pycard_resources=[]
for filename in os.listdir('.'):
    if filename.find('.rsrc.')>-1:
        pycard_resources+=[filename]

# includes for py2exe
includes=[]
for comp in ['button','image','staticbox',\
            'statictext','textarea','textfield','passwordfield']:
    includes += ['PythonCard.components.'+comp]
print 'includes',includes

opts = { 'py2exe': { 'includes': includes, 
                     'optimize': 2,
                     'bundle_files' : 1,
                     'compressed' : 1 } }
print 'opts',opts
# end of py2exe stuff

setup(name='Counter',
    description='py2exe Test',
    version='0.1',
    url='http://www.python.org',
    author='myself',
    author_email='info@test.de',
    package_dir={'blarg':'.'},
    packages=['blarg'],
    data_files=[('.',pycard_resources)],
    zipfile=None,
    windows=[{"script": 'counter.pyw', 
              "icon_resources": [(1, "dbBrowser.ico")],
              'copyright': 'Thorbytes 2007',
              'company_name': 'Thorbytes'}],
    options=opts
    )
Danke schon mal im Voraus.

Nachtrag - Lösungsansätze:
Nach einer Woche intensiven googelns und rumprobieren hab ich nun folgendes herausgefunden:
  • Mit py2exe scheint es keine Möglichkeit zu geben, die resource-Dateien in die einzelne exe mit aufzunehmen, ausser man benutzt einen Preprocessor ähnlich wie bei C++: http://www.freenet.org.nz/python/pyp/
  • Der PyInstaller (http://pyinstaller.python-hosting.com/) nimmt die rsrc-Dateien ohne Probleme mit rein, allerdings hab ich hier noch keine Möglichkeit gefunden, wie man z.B. ein eigenes Programmicon vergeben oder zusätzliche Programmiformationen wie Autor, Version usw. vergeben kann.
Wenn also jemand noch eine Idee haben sollte, wie ich den Preprocessor umgehen kann, oder wie ich mit dem PyInstaller Icons, und Programminformationen mitgeben kann würde ich mich über eine Antwort sehr freuen :D
Antworten