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

Py2exe Python Discussion :

[py2exe] compilation avec Pmw [Fait]


Sujet :

Py2exe Python

  1. #1
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut [py2exe] compilation avec Pmw
    Bonsoir a tous .
    j'ai dev une appli contenant des composant Pmw.
    Il faut que je la compile pour la distribuer a des collaborateurs.

    Le problème avec Py2exe, est que pmw a du mal a être pris en compte.

    Est ce que quelqu'un a une solution pour compiler (avec ou sans py2exe) une appli utilisant PMW, PIL, TIX et TKINTER?

    Merci par avance pour toute l'informations que vous pourrez m'apporter.
    ceci est trés important.

    A+

    => FAQ: http://python.developpez.com/faq/?page=Py2exe#Py2exePmw

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Pourquoi ne pas livrer simplement les .pyc de ton appli, c'est beaucoup plus propre qu'un .exe fait avec py2exe ?
    Quand je distribue mes programmes, je fais un installateur (soit un .bat, soit un fait avec Inno Setup),
    La première chose, il installe en mode silencieux Python ( http://python.developpez.com/faq/?pa...#GenInstallWin )
    Ensuite il copie les fichiers des librairies au bon endroit
    Puis il installe les .pyc de mon appli.
    Ensuite, si il y a des mises à jour, y'a pas besoin de tout relivrer.

  3. #3
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    merci pour l'info, aurait tu un exemple de .Bat ou un tuto sur inno setup a me pousser?

    Jusqu'a présent as tu déjà eu un problème en faisant comme ca ?

    c'est en effet une solution que je pense être la meilleur, mais il faut effectivement que je distribue avec un installateur.

    merci de me donner toute les infos dont vous pouvez disposer, j'en ferais un tuto, car je commence en avoir marre de voir tout le temps les mêmes posts a ce sujet.

    merci

  4. #4
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Par exemple pour installer les bibliothèque de manière silencieuse (sinon il suffit de distribuer les installateurs pour windows que l'on trouve), je créé un .zip contenant tous les fichiers de la librairie (en général, il suffit de récupérer ce qu'il y a dans le répertoire "site package") ou bien de récupérer le fichier XXX-wininst.log créé lors de l'installe et qui récapitule toute l'installation.

    Puis j'ai un fichier qui s'occuper de dézipper dans le bon répertoire les librairie

    pyinstall.py
    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
    # -*- coding: cp1252 -*-
    import os
    import zipfile
    import sys
    import glob
     
    ## Installation bibliothèque
    for i in glob.glob("*.zip"):
        fp = zipfile.ZipFile(i, 'r')
        lalist = fp.namelist()
        for i in lalist:
            data = fp.read(i)
            try: os.makedirs(sys.exec_prefix+os.sep+os.path.dirname(i))
            except: pass
            try:
                fil = open(sys.exec_prefix+os.sep+i, 'wb')
                print sys.exec_prefix+os.sep+i
                fil.write(data)
                fil.close()
            except: pass
    installateur
    install.bat
    msiexec /i python-2.5.msi /qr
    pyinstall.py
    pause
    Puis refaire un fichier du type pyinstall.py pour copier tes propres fichiers de l'application.

    De mon côté, j'ai toujours distribué au départ un installateur fait avec Inno Setup (qui fait la même chose que le .bat). Les mises à jour se faisant par internet avec cette fois-ci un .bat s'exécutant automatiquement et donc totalement transparent du côté du client (tous mes clients sont sous windows).
    Je n'ai jamais eu de problème avec cette méthode (il faut quand même faire attention que tout le monde installe au bon/même endroit, sinon, il faut le prévoir)

  5. #5
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Pour Inno Setup, il y a une FAQ et un tuto à l'installation du logiciel (en anglais)

    sinon, mon fichier ressemble à ceci

    moninstall.iss

    ; Script generated by the Inno Setup Script Wizard.
    ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

    [Setup]
    AppName=Mon Application
    AppVerName=My Application 1.0.0
    AppPublisher=Ma Societe
    AppPublisherURL=http://www.monsite.com
    AppSupportURL=http://www.monsite.com
    AppUpdatesURL=http://www.monsite.com
    DefaultDirName=c:/mon répertoire d'installation par défaut
    DefaultGroupName=My Application
    OutputDir=Mon répertoire de création du fichier installateur
    OutputBaseFilename=MonInstallateur
    Compression=lzma
    SolidCompression=yes
    VersionInfoVersion=1.0.0

    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkedonce

    [Files]
    Source: "D:\MonApp\Installation\*"; DestDir: "{app}/"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "..\Python\2.5\python-2.5.msi"; DestDir: "{app}/QMTemp/Installation/Python"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "..\Python\msiexec.exe"; DestDir: "{app}/QMTemp/Installation/Python"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "..\Python25\*"; DestDir: "{app}/QMTemp/Installation/Python"; Flags: ignoreversion recursesubdirs createallsubdirs
    ; NOTE: Don't use "Flags: ignoreversion" on any shared system files

    [Icons]
    Name: "{group}\Mon App"; Filename: "{app}\Mon App.pyc"; WorkingDir: "{app}"
    Name: "{userdesktop}\Mon App"; Filename: "{app}\Mon App.pyc"; Tasks: desktopicon; WorkingDir: "{app}"

    [Run]
    Filename: "{app}\QMTemp\Installation\Python\msiexec.exe"; Parameters: "/i python-2.5.msi /qr ALLUSERS=1";
    Filename: "{app}\QMTemp\Installation\Python\pyinstall.bat"
    En gros.
    Inno Setup va copier tous les fichiers trouvés dans [Files] dans les répertoire de destination spécifié.
    Dans [Run], il y a les fichiers à exécuter lors de l'installation (comme l'installateur Python)
    Dans [Icon], il y a les icônes à créer.

  6. #6
    Membre du Club
    Homme Profil pro
    Ingénieur bioinformaticien
    Inscrit en
    Avril 2010
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur bioinformaticien
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 139
    Points : 49
    Points
    49
    Par défaut Aide
    Bonjour !

    J'ai ENFIN trouvé un post qui semble répondre correctement à ma question. Je souhaite compiler mon appli, et je butte sur le problème qu'elle utilise Tix (avec Tkinter) donc lorsque j'essaie de compiler j'ai un message d'erreur à ce niveau là.

    Par contre je suis débutant en Python, et je n'ai pas compris la démarche expliquée dans vos post ! (et qui semble répondre à ce que je recherche ! )

    Donc serait-il possible de m'expliquer avec des mots simples comment je dois m'y prendre ? Je sais que c'est facile de demander cela et que ce n'est peut-être pas évident de l'expliquer simplement

  7. #7
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Salut les pythons compilés,
    je m'incruste dans votre discussion car j'ai une petite question sur le sujet mais je crois que la réponse est déja dans vos postes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for i in glob.glob("*.zip"):
        fp = zipfile.ZipFile(i, 'r')
        lalist = fp.namelist()
        #etc...
    Je n'ai pas encore distribuer des programmes avec installateur mais j'ai déja imprimer la doc sur le sujet sans m'etre jamais pencher dessus (pas le temps, pas besoin pour l'instant) et je compile pour windows avec py2exe je demande juste confirmation si il y a une différence entre compilateur(py2exe) et installateur (INNO setup) et a ce que je vois du code plus haut il faut d'abords compiler avec py2exe et créer un zip du dist et après donner le zip a manger au méchant INNO setup afin qu'il créer un installateur qui installe le programme dans Programm Files ou me tromperai-je et il faut compiler avec INNO setup pour avoir un programme avec installateur ?
    Merci pour vos réponses et escuser le dérangement.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment être sûr de bien compiler avec py2exe
    Par basile238 dans le forum Py2exe
    Réponses: 4
    Dernier message: 17/02/2009, 16h04
  2. [py2exe] erreur avec le module pmw
    Par mythe dans le forum Py2exe
    Réponses: 1
    Dernier message: 24/07/2007, 14h47
  3. [Tix] compil avec py2exe
    Par airod dans le forum Py2exe
    Réponses: 4
    Dernier message: 18/01/2007, 00h39
  4. Compilation avec un Makefile
    Par Mau dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 28/02/2003, 12h30

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