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
)
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.
