Forum EduPython

Echanges autour d'EduPython.

Vous n'êtes pas identifié(e).

#1 2020-05-03 17:31:03

nico
Membre
Inscription : 2020-01-09
Messages : 22

créer des exe autonomes sans installation

salut,

j'ai testé pyinstaller avec eudpython et ça marche très bien.
D'après la doc, ça marche sous windows 7 (comme chez moi) mais il y a peut être des trucs à installer pour les autres versions). en gros essayez, voir si ça marche comme ça déjà.

1- déjà installez le module pyinstaller avec pip dans edupython

2- ensuite, vous aller dans le dossier d'édupython puis \App\Scripts
vous créez un fichier texte (pas obligé mais beaucoup plus simple) que vous appelez
pyinstaller.bat (sans le txt derrière)

dans mon cas, j'ai mis le fichier.py (on supposera le nom de votre script) et je veux tout les fichiers créés dans le dossier d:\temp\
à vous d'adapter

mettez aussi un fichier icone.ico (une fichier icone télécharger sur internet ou créé)

3- dans ce fichier vous écrivez (option pour une interface graphique sans la sortie console) :
pyinstaller  -w -F -y ^
    --specpath D:\temp\ ^
    --distpath D:\temp\dist\ ^
    --workpath D:\temp\ ^
    --icon icone.ico ^
    D:\temp\fichier.py

4- vous enregistrer et double cliquez sur pyinstaller.bat
vous attendez
et vous aurez un fichier exe avec tout dedans, autonome, pas besoin d'installer python, ni de smodules ...

dites moi sinon les options que vous voudriez.
on peut aussi compressez le fichier pour qu'il soit plus petit (avec upx)

essayez un de mes prog sur https://sites.google.com/view/python-po … authuser=0
exemple : ajustement d'équation
(non ce n'est pas pour me faire de la pub :-) )


edit :
voici un peu plus de détail sur les options :
vous pouvez enlever l'option si vous ne souhaitez pas ce qu'elle fait :
-F crée le programme en un seul fichier (sinon il y a des sous répertoires
-y remplace tout sans demander (sinon il faut etre devant et répondre aux questions)
-w mode avec interface graphique donc SANS CONCOLE (si vous l'enlever il y a la console)
donc à enlever si vous avez des print et input
il y a d'autres options ici :
https://pyinstaller.readthedocs.io/en/stable/usage.html


a+

Dernière modification par nico (2020-06-18 08:26:44)

Hors ligne

#2 2020-05-17 06:55:28

jcmic
Membre
Inscription : 2020-05-15
Messages : 5

Re : créer des exe autonomes sans installation

Bonjour Nico,

J'essaye d'utiliser pyinstaller pour générer un onefile .exe de mon application (appli texte ordinaire utilisant mathplotlib ). J'utilise la dernière version de python, soit la 3.8. Cette appli trace des courbes, des surfaces etc …

Jusqu'à présent je rencontre de gros problèmes. Déjà voici quelque éléments:

* J'ai mis tous les modules .py dans un seul répertoire nommé E:\APPLIS-PYTHON  3\LIVRAISONS_PYTHON

* J'ai testé l'appli par le GUI de python 3.8 (sans passer par Edupython donc). Tout fonctionne.

* Je vais sous invite de commande DOS , me positionne dans  E:\APPLIS-PYTHON  3\LIVRAISONS_PYTHON

* Je tape  " pyinstaller   -F -w  Appli_generale_test.py"

* pyinstaller me génère tout ce qu'il faut (répertoires build, dist , fichier Appli_generale_test.spec), MAIS :
     
     Plein d'erreurs, en particulier pb avec numpy (pourtant  installé par pip), ou encore
                           ModuleNotFoundError: No module named 'cairo'
   
* L'éxécutable généré dans dist ne fonctionne donc pas bien sur " Failed to execute pyi_rth_pkgres"

Je continue à fouiner ici et là sur le net pour essayer de comprendre.

Si tu as une idée de ce qui peut manquer ?

Bonne journée

jcmic

Hors ligne

#3 2020-05-17 10:38:42

jcmic
Membre
Inscription : 2020-05-15
Messages : 5

Re : créer des exe autonomes sans installation

Par ailleurs le fichier .bat suivant :

pyinstaller  -w -F - y ^
    --specpath E:\APPLIS-PYTHON  3\LIVRAISONS_PYTHON\ ^
    --distpath E:\APPLIS-PYTHON  3\LIVRAISONS_PYTHON\dist\ ^
    --workpath E:\APPLIS-PYTHON  3\LIVRAISONS_PYTHON\ ^
    --icon icone.ico ^
    E:\APPLIS-PYTHON  3\LIVRAISONS_PYTHON\Appli_generale_test.py

boucle et ne fait pas le travail demandé. Quelque chose doit m'échapper.

Hors ligne

#4 2020-06-06 10:16:06

nico
Membre
Inscription : 2020-01-09
Messages : 22

Re : créer des exe autonomes sans installation

salut,

qq pistes : python installé et le python d edupython ne sont pas les mêmes (cersion, paquet installé)

Moi je me place dans le repertoire de pyinstaller (script) et non dans le répertoire cible.

tu es sous quel windows ? Sur 8 ou 10 il y a des trucs a prévoir ( mais normalement idem avec le python installé)
"For Python >= 3.5 targeting Windows < 10, the developer needs to take special care to include the Visual C++ run-time .dlls: Python 3.5 uses Visual Studio 2015 run-time, which has been renamed into “Universal CRT“ and has become part of Windows 10."

As tu une interface graphique ou passes tu par la console ? (essaie d'enlever le -w)

j'ai mis a jour le premier post, il y a notamment le lien vers la doc officielle

Dernière modification par nico (2020-06-18 08:29:39)

Hors ligne

Pied de page des forums