2016-05-19 7 views
2

Ich benutze Python 3.5 und pyinstaller Version 3.1.1. Ich habe eine .spec-Datei angegeben, die so genannte SCADAsync_spec.spec wie folgt:Python: Wie man Ausgabeordner in Pyinstaller spezifiziert .spec Datei

block_cipher = None 

a = Analysis(['SCADAsync.py'], 
      pathex=['C:\\repo\\analysis\\trunk\\source\\python\\functions', 'C:\\repo\\analysis\\trunk\\source\\python\\Executables'], 
      binaries=None, 
      datas=[('figs\\ROMO_icon.ico','figs'),('figs\\OpenFile2.gif','figs'),('figs\\ROMOWind_Logo2015_CMYK.png','figs')], 
      hiddenimports=[], 
      hookspath=[], 
      runtime_hooks=[], 
      excludes=[], 
      win_no_prefer_redirects=False, 
      win_private_assemblies=False, 
      cipher=block_cipher) 

pyz = PYZ(a.pure, a.zipped_data, 
      cipher=block_cipher) 
exe = EXE(pyz, 
      a.scripts, 
      a.binaries, 
      a.zipfiles, 
      a.datas, 
      name='SCADAsync', 
      debug=True, 
      strip=False, 
      upx=True, 
      console=True 
     ) 

Das funktioniert gut, wenn sie ausgeführt mit

pyinstaller SCADAsync_spec.spec 

schafft Nun, da zwei große Ordner (dist und bauen), die ich würde es vorziehen, anderswo als im Standardverzeichnis zu speichern. Kann jemand den Speicherort dieser Ordner in der Spezifikationsdatei festlegen? Ich möchte meine Befehlszeile Befehl so einfach wie möglich zu halten, dh die EXE nur durch Eingabe bauen sollte

pyinstaller SCADAsync_spec.spec 

Vom Pyinstaller Handbuch es ich ‚DISTPATH‘ scheint genannt Globals angeben und ‚Arbeitspfad‘ zu die Spezifikationsdatei (https://pythonhosted.org/PyInstaller/spec-files.html). Aber ich kann nicht wirklich herausfinden, wie das geht.

Jede Hilfe würde sehr geschätzt werden!

Nick

Antwort

2

Pyinstaller spec/bauen/dist Standortpfade kann als Teil pyinstaller Befehl konfiguriert werden. Siehe folgendes Beispiel

pyinstaller --specpath /opt/bk/spec --distpath /opt/bk/dist --workpath /opt/bk/build testscript.py 
+0

Vielen Dank für Ihre Antwort. Ich habe zwei Fragen: 1. Gibt es keine Möglichkeit, diese Pfade in der .spec-Datei zu integrieren? 2. Können diese auch absolute Pfade sein oder müssen sie relativ sein? – Nickj

+0

Die Position kann sowohl absolute als auch relative Pfade haben, während ich mir nicht sicher bin, ob die Pfadkonfiguration als Teil der Spezifikationsdatei selbst enthalten sein soll. – Jayaprakash

+0

@Nickj: Es gibt. 'importiere PyInstaller.config; PyInstaller.config.CONF ['spec'] = "Wert" ' –

Verwandte Themen