[Python] problemi con pyinstaller

Alessandro Dentella sandro a e-den.it
Gio 25 Giu 2009 12:47:45 CEST


Dopo la presentazione al pycon, ho voluto are una chace a pyinstaller, con
l'obiettivo di creare un eseguibile per il pacchetto sqlkit [1].

Incontro problemi per due probelmi:

  1. localizzazione. Un semplice eseguibile come:

   from babel import numbers
   print numbers.format_decimal(123.4) 

   da errore anche sulla macchina su cui è generato, potete vedere un log
   completo nel messaggio inviato alla lista:
   http://groups.google.it/group/PyInstaller/browse_frm/thread/81185ab5e2af5eef?hl=it   

   che in buona sostanza si riduce a:

      babel.core.UnknownLocaleError: unknown locale 'it_IT' 

  2. Linux: Non vengono trovate alcune librerie pur presenti nella cartella
  dove sta l'eseguibile, la cosa dovrebbe essere imputata al fatto che non
  viene correttamente impostato LD_LIBRARY_PRELOAD, se capisco giusto.

  riporto di seguito il log.

  Avete idee di come risolvere questi probelemi?

  grazie
  sandro
  *:-)

[1] http://sqlkit.argolinux.org      



> PyInstaller does set LD_LIBRARY_PATH to the directory where it's running
> from (in one-dir mode). Try printing the contents of that environment
> variable at the beginning of the program, before importing GTK.

The following example shows what I mean:

sandro a bluff:/misc/src/svn/pyinstaller-hg$ cat babex/ex2.py 
import os
print "\nLD_LIBRARY_PRELOAD:", os.environ.get('LD_LIBRARY_PRELOAD', None)

sandro a bluff:/misc/src/svn/pyinstaller-hg$ Makespec.py babex/ex2.py
wrote /home/misc/src/svn/pyinstaller-hg/ex2/ex2.spec
now run Build.py to build the executable
sandro a bluff:/misc/src/svn/pyinstaller-hg$ Build.py ex2/ex2.spec
checking Analysis
building because babex/ex2.py changed
running Analysis outAnalysis0.toc
Analyzing: ./support/_mountzlib.py
Analyzing: ./support/useUnicode.py
Analyzing: babex/ex2.py
ex2/build/pyi.linux2/ex2/outAnalysis0.toc no change!
checking PYZ
checking PKG
building because babex/ex2.py changed
building PKG outPKG3.pkg
checking EXE
rebuilding outEXE2.toc because pkg is more recent
building EXE from outEXE2.toc
Appending archive to EXE ex2/build/pyi.linux2/ex2/ex2
checking COLLECT
building outCOLLECT4.toc because ex2/build/pyi.linux2/ex2/ex2 is more recent
building COLLECT outCOLLECT4.toc
sandro a bluff:/misc/src/svn/pyinstaller-hg$ ex2/dist/ex2/ex2 

LD_LIBRARY_PRELOAD: None






Maggiori informazioni sulla lista Python