Domanda

c'è un modo per creare un exe standalone da uno script python. Eseguibili generati con py2exe può essere eseguito solo con pythonXX.dll. Mi piacerebbe ottenere un exe completamente autonomo che non richiede di installare la libreria di runtime di Python. Sembra un collega problema, ma usando la libreria statica invece quello dinamico e sarebbe anche utile applicare una striscia al fine di rimuovere i simboli inutilizzati.

Qualche idea?

Grazie.

Alessandro

È stato utile?

Soluzione

È possibile farlo nella versione più recente di py2exe ...
Basta aggiungere qualcosa come il codice qui sotto nel file setup.py (parte chiave è 'bundle_files': 1).

Per includere il pacchetto TkInter nella installazione, utilizzare il tasto 'include'.

distutils.core.setup(
      windows=[
            {'script': 'yourmodule.py',
             'icon_resources': [(1, 'moduleicon.ico')]
            }
      ],
      zipfile=None,
      options={'py2exe':{
                         'includes': ['tkinter'],
                         'bundle_files': 1
                        }
      }
  )

Altri suggerimenti

A causa di come linker dinamico di Windows' funziona, non è possibile utilizzare la libreria statica se si utilizza .pyd o dll moduli Python; DLL caricate in Windows non condividono automaticamente il loro simbolo spazio con l'eseguibile e quindi richiedono una DLL separata contenente i simboli Python.

Se il vostro scopo di avere un unico file eseguibile è quello di facilitare il download / e-mail, ecc, ho risolto questo per riunire, l'uscita py2exe utilizzando Inno Setup . Questo in realtà è meglio che avere un unico eseguibile, perché piuttosto che fornire un file eseguibile che può essere caduto in una directory, un'applicazione Windows ben educati fornirà un programma di disinstallazione, visualizzato nella Aggiungi / Rimuovi applet Installazione applicazioni, ecc Inno gestisce tutti questo per voi.

Un'altra soluzione è quella di creare un unico exe con pitone e tutte le dipendenze installate all'interno di esso, compreso il python.dll. C'è un po 'di magia nella confezione, ma funziona solo. I dettagli sono qui:

http://code.google.com /p/pylunch/downloads/detail?name=PyLunch-0.2.pdf

Questo non è il modo migliore per farlo, ma si potrebbe considerare l'utilizzo di eseguibile SFX archivio sia con il .exe e .dll file all'interno, e l'impostazione per eseguire il file .exe quando è doppio clic.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top