Compilation Python sous Linux
Content de trouver dans la distribution standart de Linux le logiciel cx-freeze qui permet de compiler du code python en un executable sous Linux:
Je suis pris au dépourvue car celui-çi ne fonctionne pas pour le testscript que je lui ai fait compiler:
Il génère un exécutable qui ne marche pas et j'ai bien sur des messages d'erreurs comme ceux-çi:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
Monnom@Monnom-destop:~$ cxfreeze test.py
copying /usr/lib/pymodules/python2.6/cx_Freeze/bases/Console -> /home/Monom/dist/test
copying /usr/lib/libpython2.6.so.1.0 -> /home/Monom/dist/libpython2.6.so.1.0
Traceback (most recent call last):
File "/usr/bin/cxfreeze", line 5, in <module>
main()
File "/usr/lib/pymodules/python2.6/cx_Freeze/main.py", line 170, in main
freezer.Freeze()
File "/usr/lib/pymodules/python2.6/cx_Freeze/freezer.py", line 405, in Freeze
self._FreezeExecutable(executable)
File "/usr/lib/pymodules/python2.6/cx_Freeze/freezer.py", line 173, in _FreezeExecutable
exe.copyDependentFiles, scriptModule)
File "/usr/lib/pymodules/python2.6/cx_Freeze/freezer.py", line 333, in _WriteModules
initModule = finder.IncludeFile(initScript, "cx_Freeze__init__")
File "/usr/lib/pymodules/python2.6/cx_Freeze/finder.py", line 386, in IncludeFile
deferredImports)
File "/usr/lib/pymodules/python2.6/cx_Freeze/finder.py", line 259, in _LoadModule
module.code = compile(fp.read() + "\n", path, "exec")
TypeError: compile() expected string without null bytes |
Il faut peut etre spécifier des options, ce que je n'ai pas fait ceçi étant optionels, afin que le logiciel fonctionne correctement.
Le testscript:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| from Tkinter import *
def test() :
global b
b.configure(text='It\'s compiled')
a=Tk()
b=Label(a, text='test', width=32)
c= Button(a, text='try', command=test)
d= Button(a, text='Off', command=a.destroy)
b.pack()
c.pack()
d.pack()
a.mainloop() |
Si quelqu'un peut m'aider sa serai sympa.