IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

PyInstaller dist(OK) programme(pasOK)


Sujet :

Déploiement/Installation Python

  1. #1
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut PyInstaller dist(OK) programme(pasOK)
    Bonjour,

    Je tente de créer un exécutable de GlobalApplis.py avec PyInstaller...
    Lors de mon premier essai PyInstaller a créé un fichier GlobalApplis.spec, mais les dossiers(build et dist) restaient vides de données...
    Afin qu'il puisse s'occuper des fichiers textes que les modules__init__.py traitaient, GlobalApplis.spec a donc été renseigné. Ainsi, les dossiers(build et dist) étaient renseignés...

    Mais, le fichier GlobalApplis.exe dans le dist avait zéro octet (vide)...
    À ce moment, il n' y a pas les dossier(tcl et tk) dans le dossier dist...

    Puis en réfléchissant, comme il y a plusieurs modules.py et que import tkinter est dans l'un d'entre eux tout en étant absent de GlobalApplis.py par lequel est lancé le programme.
    Il fallait écrire import tkinter au début du programme principal GlobalApplis.py...
    Après agir pyinstaller GlobalApplis.spec, et le fichier GlobalApplis.exe dans le dist avait 1.61 mega octets (♪☺♪)...

    À ce moment, il n' y a pas les dossier(tcl et tk) dans le dossier dist, ni les dll qui vont avec...
    Sauf, qu'hélas ne fonctionne toujours pas

    Lien github : https://github.com/Toumic/GlobalApplis

    Fichier : GlobalApplis.spec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    # -*- mode: python ; coding: utf-8 -*-
     
     
     
     
    block_cipher = None
     
     
    addedFiles = [
    ('GlobEnModes/__init__.py', 'GlobEnModes'),
    ('GlobGamChrom/__init__.py', 'GlobGamChrom'),
    ('GlobGamFonds/__init__.py', 'GlobGamFonds'),
    ('GlobGamMicro/__init__.py', 'GlobGamMicro'),
    ('GlobGamSim/__init__.py', 'GlobGamSim'),
    ('GlobGamVers6/__init__.py', 'GlobGamVers6'),
    ('GlobInverseAcc/__init__.py', 'GlobInverseAcc'),
    ('GlobModelGammy/__init__.py', 'GlobModelGammy'),
    ('GlobTetraCord/__init__.py', 'GlobTetraCord'),
    ('GlobalTexte/CommentGlobGamChrom.txt', 'GlobalTexte'),
    ('GlobalTexte/CommentGlobGamChromII.txt', 'GlobalTexte'),
    ('GlobalTexte/couleursethexa.txt', 'GlobalTexte'),
    ('GlobalTexte/glob_datagams.txt', 'GlobalTexte'),
    ('GlobalTexte/globdic_Dana.txt', 'GlobalTexte'),
    ('GlobalTexte/globdicTcode.txt', 'GlobalTexte'),
    ('GlobalTexte/globdicTcord.txt', 'GlobalTexte'),
    ('GlobalTexte/globdicTcoup.txt', 'GlobalTexte'),
    ('GlobalTexte/globdicTgams.txt', 'GlobalTexte'),
    ('GlobalTexte/RunGlobalApplisPy22012022PLUS.txt', 'GlobalTexte'),
    ('GlobalTexte/RésultatRunGlobalApplisPy_1.txt', 'GlobalTexte'),
    ('GlobalDoc/calcul_tare_gam.py', 'GlobalDoc'),
    ('GlobalDoc/Contemplation_alteration_1', 'GlobalDoc'),
    ('GlobalDoc/Contemplation_alteration_2', 'GlobalDoc'),
    ('GlobalDoc/Definition_modules', 'GlobalDoc'),
    ('GlobalDoc/Notes Analyses', 'GlobalDoc'),
    ('a1.wav', '.'), ('a2.wav', '.'), ('a3.wav', '.'), ('a4.wav', '.'), ('a5.wav', '.'),
    ('a6.wav', '.'), ('a7.wav', '.'), ('acc1.wav', '.'), ('acc2.wav', '.'), ('acc3.wav', '.'),
    ('acc4.wav', '.'), ('acc5.wav', '.'), ('acc6.wav', '.'), ('acc7.wav', '.'),
    ('p_w1.wav', '.'), ('p_w2.wav', '.')]
     
     
    a = Analysis(
        ['GlobalApplis.spec'],
        pathex=[],
        binaries=[],
        datas=addedFiles,
        hiddenimports=[],
        hookspath=[],
        hooksconfig={},
        runtime_hooks=[],
        excludes=[],
        win_no_prefer_redirects=False,
        win_private_assemblies=False,
        cipher=block_cipher,
        noarchive=False,
    )
    pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
     
     
    exe = EXE(
        pyz,
        a.scripts,
        [],
        exclude_binaries=True,
        name='GlobalApplis',
        debug=False,
        bootloader_ignore_signals=False,
        strip=False,
        upx=True,
        console=True,
        disable_windowed_traceback=False,
        argv_emulation=False,
        target_arch=None,
        codesign_identity=None,
        entitlements_file=None,
    )
    coll = COLLECT(
        exe,
        a.binaries,
        a.zipfiles,
        a.datas,
        strip=False,
        upx=True,
        upx_exclude=[],
        name='GlobalApplis',
    )
    Image : Éléments présents
    Nom : DossiersPresentsDansDis.png
Affichages : 92
Taille : 187,4 Ko

    Je serai content de trouver une aide ☺
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par toumic2.0 Voir le message
    Je serai content de trouver une aide ☺
    A la base, la structure de votre projet doit être compatible/cohérente avec ce qu'attendent Python et PyInstaller.
    => Si à la fin du projet on se dit que ça serait bien de packager tout ça avec un PyInstaller, ça ne le fera pas souvent et il va falloir remettre tout ça d'équerre (en testant un petit bout qui rende compte de la structure pour comprendre ce qui ne va pas et corriger).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    A la base, la structure de votre projet doit être compatible/cohérente avec ce qu'attendent Python et PyInstaller.
    => Si à la fin du projet on se dit que ça serait bien de packager tout ça avec un PyInstaller, ça ne le fera pas souvent et il va falloir remettre tout ça d'équerre (en testant un petit bout qui rende compte de la structure pour comprendre ce qui ne va pas et corriger).

    - W
    Aider quelcun quand on est aucun... Votre réponse ressemble bien à a la question suivante : Où se situe le faux aplomb ???
    J'ai connu ça dans l'ascenseur, tester les bornes pour voir le kilométrage
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par toumic2.0 Voir le message
    J'ai connu ça dans l'ascenseur, tester les bornes pour voir le kilométrage
    Je fais que partager mon expérience.... et lorsque je dois fabriquer une application qui sera "packagée" avec cx_freeze ou pyinstaller, j'essaie de vérifier assez tôt si ça fabrique un truc fonctionnel après son déploiement sur une cible.
    Si ça ne fonctionne pas, c'est plus facile à corriger à ce stade que quand le projet est fini (car souvent ça touche à la structure et c'est beaucoup de boulot.).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre habitué
    Avatar de toumic2.0
    Homme Profil pro
    Gammologie (Étudie, code, publie des gammes)
    Inscrit en
    Janvier 2021
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Gammologie (Étudie, code, publie des gammes)
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 161
    Points : 197
    Points
    197
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Je fais que partager mon expérience.... et lorsque je dois fabriquer une application qui sera "packagée" avec cx_freeze ou pyinstaller, j'essaie de vérifier assez tôt si ça fabrique un truc fonctionnel après son déploiement sur une cible.
    Si ça ne fonctionne pas, c'est plus facile à corriger à ce stade que quand le projet est fini (car souvent ça touche à la structure et c'est beaucoup de boulot.).

    - W
    Votre deuxième réponse est plus claire pour moi ☺

    Si je trouve une solution à mon problème je reviendrai pour l'explication
    Sinon ?
    , music@toumic 2.0 Cabine Riche Intellect Music Quantic

Discussions similaires

  1. [Python 3.X] .exe via pyinstaller d'un programme Python-Tk utilisant PIL ne fonctionne pas.
    Par Jma06 dans le forum Déploiement/Installation
    Réponses: 0
    Dernier message: 26/08/2020, 09h07
  2. [Python 3.X] Empaqueter un programme : cx freeze, py2exe, ou pyinstaller
    Par lentdormi dans le forum Déploiement/Installation
    Réponses: 1
    Dernier message: 21/10/2016, 13h59
  3. Programme pour PyInstaller
    Par metalamania dans le forum Déploiement/Installation
    Réponses: 3
    Dernier message: 01/06/2007, 16h16
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo