Re: [Python] Compilare script con Python è possibile grazie a Nuitka
Il giorno dom 21 mar 2021 alle ore 12:43 Luigi Russo < giginapol...@outlook.it> ha scritto: > Allora: > ho fatto un pò di prove e, con grande amarezza debbo constatare che il > gioco non vale la candela, alla fine il tutto funziona a patto che vi > sia Python installato e, se si crea uno standalone fa ne più ne meno di > quello che fa pyinstaller. E' ovvio che l'interprete ci vuole ma, mi > sarei aspettato una compilazione pressocché totale e l'integrazione solo > dei file essenziali. Ora devo vedere solo se creando un exe unico quanto > tempo impiega ad aprirlo, se decomprime il tutto e lo esegue o fa tutto > l'exe internamente. > Buongiorno Lista, Mi capitate a fagiuolo. Proprio in questi giorni sto litigando con la nuova versione di py2exe per impacchettare un mio piccolo script. Prima di tornare a py2exe ho provato nuitka, pyinstalle e pyoxidizer ( https://pyoxidizer.readthedocs.io/). Ovviamente senza troppo successo. Ora quello che dovrei fare io è un semplice launcher, un eseguibilino di pochi kb che mi permetta di importare dei moduli da filesystem e chiamare una funzione. Con il vecchio py2exe e paython27 la cosa funzionava, eseguibile di 33k python27.dll e altri file *.dll *.pyd e *.pyo in cartella in sys.path. Visto il poco tempo a disposizione sono tornato appunto a py2exe e ora devo solo convincerlo a non crearmi lo zip per le librerie. Però approfitterei di voi per chiedere se qualcuno ha dei suggerimenti per fare la stessa cosa con nuitka (o altro). scusate l'intrusione. grazie. -- Luca ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Compilare script con Python è possibile grazie a Nuitka
Allora: ho fatto un pò di prove e, con grande amarezza debbo constatare che il gioco non vale la candela, alla fine il tutto funziona a patto che vi sia Python installato e, se si crea uno standalone fa ne più ne meno di quello che fa pyinstaller. E' ovvio che l'interprete ci vuole ma, mi sarei aspettato una compilazione pressocché totale e l'integrazione solo dei file essenziali. Ora devo vedere solo se creando un exe unico quanto tempo impiega ad aprirlo, se decomprime il tutto e lo esegue o fa tutto l'exe internamente. Ciao da Gigi ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Compilare script con Python è possibile grazie a Nuitka
Il 21/03/2021 02:05, Gabriele Battaglia ha scritto: Ciao. rispondo a me stesso. Lanciando il prompt in modalità admin, non ho l'errore di accesso negato. Purtroppo però, il file prodotto continua a non andare bene a Windows 7 che si rifiuta di eseguirlo. Peccato... speravo che... cambiando compiler Grazie Luigi. A questo punto ti chiedo: cos'ha pyinstaller che non ti piace? Dici che da molto tempo cercavi qualcosa che rendesse eseguibili gli scripts .py Gigi: ciao Gabriel, pyinstaller non è un compilatore, semplicemente fa quello che fa un programma di compressione/decompressione quando gli indichi di creare un exe autoestraente. In pratica l'exe che crea pyinstaller è lo script corredato dell'interprete Python con librerie annesse. Se ci fai caso quando avvii l'eseguibile non viene avviato immediatamente poiché prima decomprime l'archivio e successivamente esegue lo script. Il compilatore traduce il codice ad alto livello in codice macchina, quindi l'esecuzione è pressocché immediata, a patto che vi sia installato il relativo interprete. Nuitka semplicemente trasforma il codice Python in codice C e poi lo trasforma in codice macchina. Tuttavia dovrei provare gli exe generati su di macchine dove Python non è installato, mi sta venendo un dubbio. Ciao da Gigi ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Compilare script con Python è possibile grazie a Nuitka
Ciao. rispondo a me stesso. Lanciando il prompt in modalità admin, non ho l'errore di accesso negato. Purtroppo però, il file prodotto continua a non andare bene a Windows 7 che si rifiuta di eseguirlo. Peccato... speravo che... cambiando compiler Grazie Luigi. A questo punto ti chiedo: cos'ha pyinstaller che non ti piace? Dici che da molto tempo cercavi qualcosa che rendesse eseguibili gli scripts .py e pyinstaller mi pare lo faccia egregiamente. Gabry. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Compilare script con Python è possibile grazie a Nuitka
Ciao Luigi. Il progetto sembra interessante. A me però da un errore. Ho provato sia con l'opzione --onefile che con --standalone In entrambi i casi ricevo un errore di accesso negato ad un file. Ed ho solo la console aperta, senza altri processi. Come potrei risolvere? Ecco l'output. d:\Dropbox\py>nuitka --standalone cartella.py Nuitka:INFO: Starting Python compilation. Nuitka:INFO: Completed Python level compilation and optimization. Nuitka:INFO: Generating source code for C backend compiler. Nuitka:INFO: Running data composer tool for optimal constant value handling. Nuitka:INFO: Running C level backend compilation via Scons. Nuitka-Scons:INFO: Backend C compiler: C:\Users\asus\AppData\Local\Nuitka\Nuitka\gcc\x86_64\10.2.0-11.0.0-8.0.0-r5\mingw64\bin\gcc.exe (gcc.exe). Nuitka-Scons:INFO: Compiled 13 C files using ccache. Nuitka-Scons:INFO: Cached C files (using ccache) with result 'cache hit': 11 Nuitka-Scons:INFO: Cached C files (using ccache) with result 'cache miss': 2 Traceback (most recent call last): File "C:\Python39\lib\site-packages\nuitka\__main__.py", line 185, in main() File "C:\Python39\lib\site-packages\nuitka\__main__.py", line 171, in main MainControl.main() File "C:\Python39\lib\site-packages\nuitka\MainControl.py", line 755, in main copyUsedDLLs( File "C:\Python39\lib\site-packages\nuitka\freezer\Standalone.py", line 1102, in copyUsedDLLs used_dlls = detectUsedDLLs( File "C:\Python39\lib\site-packages\nuitka\freezer\Standalone.py", line 1037, in detectUsedDLLs worker_pool.submit( File "C:\Python39\lib\site-packages\nuitka\utils\ThreadedExecutor.py", line 45, in submit self.results.append(function(*args)) File "C:\Python39\lib\site-packages\nuitka\freezer\Standalone.py", line 1001, in addDLLInfo used_dlls = detectBinaryDLLs( File "C:\Python39\lib\site-packages\nuitka\freezer\Standalone.py", line 976, in detectBinaryDLLs return detectBinaryPathDLLsWindowsDependencyWalker( File "C:\Python39\lib\site-packages\nuitka\freezer\Standalone.py", line 943, in detectBinaryPathDLLsWindowsDependencyWalker result = detectDLLsWithDependencyWalker(binary_filename, scan_dirs) File "C:\Python39\lib\site-packages\nuitka\freezer\DependsExe.py", line 190, in detectDLLsWithDependencyWalker deleteFile(dwp_filename, must_exist=True) File "C:\Python39\lib\site-packages\nuitka\utils\FileOperations.py", line 307, in deleteFile os.unlink(path) PermissionError: [WinError 32] Impossibile accedere al file. Il file è utilizzato da un altro processo: 'cartella.dist\\cartella.exe.dwp' d:\Dropbox\py> ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Compilare script con Python è possibile grazie a Nuitka
Il programma si chiama Nuitka, in sostanza non è altro che un modulo da > installare. Il sito di riferimento è: > http://nuitka.net/ Muchas gragias, hai anche fatto quelahce test per valutare l'incremento di prestazioni? Carlos ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Compilare script con Python è possibile grazie a Nuitka
Salve, sicuramente sarà qualcosa di già passato, sicuramente ci saranno alcune situazioni dove non funziona correttamente, però, finalmente dopo tanto ho trovato un programma che mi compila in linguaggio a basso livello e rende eseguibile uno script Python. Il programma si chiama Nuitka, in sostanza non è altro che un modulo da installare. Il sito di riferimento è: http://nuitka.net/ In sostanza trasforma il codice Python prima in C e poi effettua la compilazione vera e propria. Sul sito sopracitato ci sono gli eseguibili per le varie versioni di Python, tuttavia potete installarlo anche via pip pip install nuitka Per compilare, dal prompt dei comandi dare il comando nuitka nomescript.py e dare INVIO. Nota: la prima volta chiederà di scaricare ed installare alcuni pacchetti tra cui MinGw, una volta che ha scaricato il tutto procede alla compilazione, prima trasformando il codice in c e poi generando l'exe con Mingw. Ciao da Gigi ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python