[cx_Freeze] Eigener Pfad für "library.zip"

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
BLU3L30PARD
User
Beiträge: 26
Registriert: Freitag 20. August 2010, 19:31

Moin!

Ich habe mir folgendes cx_Freeze - Setup script erstellt:

Code: Alles auswählen

from cx_Freeze import setup, Executable

includes = []
excludes = ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger','pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl', 'Tkconstants', 'Tkinter']
packages = []
path = []

Target1 = Executable(
	script = "test.py",
	initScript = None,
	base = "Win32GUI",
	targetDir = None,
	targetName = "NAME.exe",
	compress = True,
	copyDependentFiles = True,
	appendScriptToExe = True,
	appendScriptToLibrary = False,
	icon = "ICON.ico"
)

setup (
	name = "NAME",
	description = "BESCHREIBUNG",
	author = "AUTOR",
	version = "0.25",
	options = {"build_exe": 
					{
						"includes": includes, "excludes": excludes,
						"packages": packages, "path": path
					}
			  },
	executables = [Target1]
)
Läuft auch alles super, bis auf die tatsache, dass alle Dateien, wie dlls und pyd files
in den gleichen Ordner der exe Datei kopiert werden, bzw. die exe Datei diese files
nur im eigenen Verzeichnis sucht. Bei py2exe konnte man ja via

Code: Alles auswählen

zipfile = "Lib/Library.zip"
veranlassen, dass diese files mitsamt der library.zp in den "Lib" ordner kopiert werden.
aber diese Funktion gibts bei cx_Freeze ja nicht mehr. Es gibt zwar die "path[]"
Option, aber dort lassen sich bloß direkte Pfade wie "C:/Libs/DATEI.zip" etc.
angeben. Weiß jemand zufällig, ob es eine andere gute lösung für cx_Freeze gibt?

//Edit: Oder ist es sogar möglich, nur eine exe Datei zu generieren (ohne dlls oder pyd files)?
BLU3L30PARD
User
Beiträge: 26
Registriert: Freitag 20. August 2010, 19:31

Ok, hat sich erledigt :D
Ich bin auf PyInstaller umgestiegen, damit kann ich auch eine
einzige Datei erstellen. Ich hatte bloß zuvor einige Probleme damit,
weil ich Python 2.7 verwende und ich erst noch pywin32 downloaden musste
und so ein paar andere geschichten.
Antworten