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 :

py2exe et python3


Sujet :

Déploiement/Installation Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Avril 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Avril 2023
    Messages : 9
    Par défaut py2exe et python3
    Bonjour,

    je veux pouvoir distribuer un script Python et j'ai tenté de suivre la FAQ sur py2exe. Mais c'est un échec très rapidement puisque le fait d'exécuter les 3 lignes suivantes tue le shell :
    from distutils.core import setup
    import py2exe
    setup(console=["test.py"])

    Je pense que je le dis mal, donc je copie/colle : "The kernel process exited. (1)"

    (test.py est un script bidon qui affiche une phrase)

    Je n'arrive pas bien à savoir si py2exe est adapté à python3 : comme il n'y a plus de message sur le sous-forum depuis longtemps, je me posais la question ? Est-ce qu'il y a une meilleure solution dorénavant ? (meilleure = plus simple dans mon cas). Je précise que je ne suis pas allé plus loin dans le tutoriel vu que je me doute que ce n'est pas une bonne chose que l'exécution fasse cela.
    Par contre, j'ai pu installer sans problème py2exe

    Edit : j'ai oublié de préciser que je suis sur Windows au cas où cela ait une importance (et que je voudrais distribuer un script pour des gens sur Windows aussi)

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 761
    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 761
    Par défaut
    Salut,

    Juste pour le fun, j'ai installé py2exe sur ma machine Windows/Python3.11 et suivi les premiers pas du tuto (qui n'a pas été écrit pour Python3, ça c'est sûr) et ça fonctionne.

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

  3. #3
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour

    Attention à distutils qui est déprécié et qui pourrait disparaître avec Python 3.12 (https://docs.python.org/fr/3/whatsne...ils-deprecated).

    Je n'ai jamais utilisé py2exe. J'ai beaucoup utilisé cx_freeze, et maintenant j'utilise pyinstaller, les deux avec des programmes assez gros et complexes (PyQt5). Chacun a ses avantages et ses inconvénients. Voilà un article qui parle des 3 modules:
    https://pythonassets.com/posts/creat...freeze-py2exe/

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Avril 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Avril 2023
    Messages : 9
    Par défaut
    J'ai retenté en suivant le tutorial https://python.developpez.com/faq/?page=Py2exe
    Je verrai ensuite le dépréciement de distutils

    J'ai écrit un fichier test.py qui fait un truc nul (print('Hello world') pour être précis) puis un fichier setup.py avec les lignes :
    from distutils.core import setup
    import py2exe
    setup(console=["test.py"])

    L'erreur que je faisais était d'éxécuter ce script dans mon éditeur. J'ai donc lancé la commande python.exe setup.py py2exe dans une commande DOS et j'ai bien un dossier dist qui apparaît (mais pas build). Quand je clique sur test.exe qui est à l'intérieur, il m'ouvre un fenêtre (DOS ?) mais n'affiche pas le hello world. Si je ferme cette fenêtre et que je reclique sur test.exe, il ne se passe rien. Qu'est-ce que j'ai raté ?

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 761
    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 761
    Par défaut
    Citation Envoyé par Alban_ Voir le message
    Quand je clique sur test.exe qui est à l'intérieur, il m'ouvre un fenêtre (DOS ?) mais n'affiche pas le hello world. Si je ferme cette fenêtre et que je reclique sur test.exe, il ne se passe rien. Qu'est-ce que j'ai raté ?
    Lancez le programme depuis un "terminal" (cmd.exe) au lieu de cliquer dessus depuis l'explorateur de fichiers: il se termine si vite que vous n'avez pas le temps de voir le print (ou tout autre message d'erreur).

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

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Avril 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Avril 2023
    Messages : 9
    Par défaut
    Effectivement, merci !

    On est d'accord que si je fais une interface graphique en python et que je le compile de la même manière (ou de manière similaire, il me semble que le tutoriel disait que c'était plus compliqué avec une GUI, mais j'irai voir de toute façon), je pourrai cliquer sur mon .exe tranquillement ? Je présume que c'est le fait que j'ai fait un script tout nul qui affiche une chaine dans la console python qui implique que je dois le lancer depuis cmd ?
    Comme le but est de donner un script prêt à l'emploi, je ne peux pas commencer en disant "ouvre un terminal, place toi dans le bon répertoire puis lancer le .exe en ligne de commande"

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 605
    Par défaut
    Citation Envoyé par Alban_ Voir le message
    Comme le but est de donner un script prêt à l'emploi, je ne peux pas commencer en disant "ouvre un terminal, place toi dans le bon répertoire puis lancer le .exe en ligne de commande"
    Au pire, vous auriez pu ajouter un time.sleep(5) ou une méthode input pour voir le contenu de votre fenêtre Dos en double cliquant sur l'exécutable généré pour voir si le print s'affiche correctement.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Avril 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Avril 2023
    Messages : 9
    Par défaut
    En lisant votre message, je me suis dit que c'était dommage de ne pas y avoir pensé. Mais ça ne marche pas :
    - ni le fait de mettre un time.sleep(5) après le print
    - ni le fait de mettre un input avec le print
    (dans les deux cas, j'ai évidemment testé en Python que ça faisait bien ce que je voulais)

    Précisément, j'ai le même comportement quand je clique sur test.exe et que je le lance depuis CMD, je n'ai que le print (ni la pause ni l'input ?)

    Étonnamment, j'ai pu tout de suite faire fonctionner py2exe avec un script qui fait un affichage avec tkinter

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 761
    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 761
    Par défaut
    Citation Envoyé par Alban_ Voir le message
    Comme le but est de donner un script prêt à l'emploi, je ne peux pas commencer en disant "ouvre un terminal, place toi dans le bon répertoire puis lancer le .exe en ligne de commande"
    Un script prêt à l'emploi suppose la prise en compte d'un certain nombre de situation qui vont se traduire par des lignes de code pour les prendre en charge... Et c'est du temps à passer à apprendre dans un premier temps. Après c'est vous qui voyez: écrire une petite documentation est souvent plus facile/rapide que de coder...

    note: time.sleep et input devrait fonctionner. Avec tkinter, c'est autre chose puisqu'il n'y a pas de terminal...

    Citation Envoyé par tyrtamos Voir le message
    Attention à distutils qui est déprécié et qui pourrait disparaître avec Python 3.12 (https://docs.python.org/fr/3/whatsne...ils-deprecated).
    C'est une information à prendre en compte par les développeurs pour sortir une version qui ne dépendra plus de distutils...
    Et à priori, ils y travaillent.

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

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Avril 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Avril 2023
    Messages : 9
    Par défaut
    J'ai réessayé (en effaçant le répertoire dist créé et en reprenant depuis le début) et input fonctionne mais pas la pause... Je retenterai demain.

    Pendant que j'y suis, quels sont les fichiers à donner impérativement à quelqu'un qui n'a pas Python ? On doit envoyer tout le répertoire dist où on peut se limiter à quelques fichiers ? (je me demande si certains fichiers créés ne sont pas nécessaires pour obtenir le .exe mais ne servent pas ensuite finalement)

  11. #11
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 761
    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 761
    Par défaut
    Citation Envoyé par Alban_ Voir le message
    On doit envoyer tout le répertoire dist où on peut se limiter à quelques fichiers ?
    Vous ouvrez la documentation et essayez de comprendre ce qu'elle raconte en testant si ce que vous en avez compris fonctionne.
    C'est le boulot du programmeur...

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

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Avril 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Avril 2023
    Messages : 9
    Par défaut
    Désolé, vu le mal que j'ai eu à faire ce .exe tout bête, je me demandais si quelqu'un n'avait pas déjà regardé. Merci pour l'aide en tout cas

  13. #13
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 761
    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 761
    Par défaut
    Citation Envoyé par Alban_ Voir le message
    je me demandais si quelqu'un n'avait pas déjà regardé
    Nombre de réponses sont dans la FAQ de py2exe. Quel que soit l'outil que vous allez vouloir utiliser lire le document d'installation pour l'installer, la documentation pour l'utiliser et la FAQ pour les questions récurrentes... devrait être des réflexes (et pas que pour la programmation autour de Python).

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

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Avril 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Avril 2023
    Messages : 9
    Par défaut
    Je reviens avec mes questions sur py2exe : je cherche maintenant à mettre une icône sur mon .exe

    J'ai récupéré une icône mais j'ai déjà une question. Sur les exemples d'utilisation que j'ai trouvé, il est souvent écrit quelque chose comme :
    setup(windows=[{'script' : 'test_graphique.py', "icon_resources": [(0, 'python.ico')]}])

    Et l'icone que j'ai est un .png (c'est un petit fichier image qui contient un logo de Python). Est-ce qu'il est obligatoire d'avoir une extension en .ico ?
    Ensuite, j'ai préparé mon setup avec la commande :
    setup(windows=[{'script' : 'test_graphique.py', "icon_resources": [(0, 'python.png')]}])

    J'ai lancé ça dans CMD, mais il ne termine pas. J'ai fait quelque chose de sale et j'ai changé mon fichier python.png en python.ico sans plus de succès. Je n'ai malheureusement pas trouvé beaucoup de documentation (j'espère n'avoir rien raté d'évident) et souvent, le peu de choses que je trouve est sur Python2.

  15. #15
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 761
    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 761
    Par défaut
    Citation Envoyé par Alban_ Voir le message
    Est-ce qu'il est obligatoire d'avoir une extension en .ico ?
    Pourquoi ne pas chercher un peu sur Internet ce qui se raconte sur les fichiers ICO? Normalement, on commence par Wikipedia... (et à la fin de la journée on sera plus intelligent).

    Citation Envoyé par Alban_ Voir le message
    Je n'ai malheureusement pas trouvé beaucoup de documentation (j'espère n'avoir rien raté d'évident) et souvent, le peu de choses que je trouve est sur Python2.
    Et à part quelques détails, est-ce que c'est horrible de les faire fonctionner sous Python3 pour voir si la mécanique qu'ils décrivent est encore valide?

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

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Avril 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Avril 2023
    Messages : 9
    Par défaut
    J'ai regardé le wiki sur les fichiers .ico, mais je n'ai pas été avancé : notamment, je ne sais pas comment les créer (si on peut utiliser directement à partir d'un .png "transformé").

    Pour la différence python2/python3, le souci est que quand le scipt ne fonctionne pas, je ne sais pas si ça vient de mon script ou de la différence de version. Il faut bien avouer que je suis bêtement les indications trouvées, je ne comprends pas ce que fait py2exe quand il construit le .exe

  17. #17
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 761
    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 761
    Par défaut
    Citation Envoyé par Alban_ Voir le message
    J'ai regardé le wiki sur les fichiers .ico, mais je n'ai pas été avancé : notamment, je ne sais pas comment les créer (si on peut utiliser directement à partir d'un .png "transformé").
    Et il ne vous viendrait pas l'idée de chercher comment créer un fichier ico?

    Pour la différence python2/python3, le souci est que quand le scipt ne fonctionne pas, je ne sais pas si ça vient de mon script ou de la différence de version. Il faut bien avouer que je suis bêtement les indications trouvées, je ne comprends pas ce que fait py2exe quand il construit le .exe
    Ça veut dire que vous lisez des trucs sans trop comprendre... Et si vous preniez le temps de vous former?

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

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Avril 2023
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Avril 2023
    Messages : 9
    Par défaut
    Effectivement, vous avez raison, j'aurais dû commencer par là pour le .ico. Vu ce que me dit le premier lien que j'ai lu, je vais faire une belle icône avec Paint.

    Pour la suite, je trouve que vous avez moins raison (mais après tout, vous faites comme vous voulez vu que c'est vous prenez le temps de me répondre) au sens où je suppose que la plupart des gens qui utilisent py2exe ou équivalent ne sont pas parfaitement au point sur son fonctionnement : autant je pense bien comprendre ce que fait mon script que je veux transformer en .exe, autant le fonctionnement précis de cette transformation m'indiffère un peu. Mais je comprends tout à fait que ça puisse être agaçant pour vous (d'autant plus avec la question sur le .ico) et encore une fois, je vois bien que vous prenez de votre temps pour me répondre et je vous en remercie.

  19. #19
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 761
    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 761
    Par défaut
    Citation Envoyé par Alban_ Voir le message
    Mais je comprends tout à fait que ça puisse être agaçant pour vous
    Ce n'est pas "agaçant"...
    Juste que si vous ne voulez pas prendre le temps d'apprendre et êtes confronté à des faiblesses de la documentation/exemples trouvés sur py2exe, il est peut être temps d'aller voir d'autres outils de packaging pour voir s'ils répondent mieux à ce genre d'attente.
    Dit autrement, à vous de trouver une solution en fonction de vos moyens... et si py2exe est trop difficile pour le temps que vous voulez y passer...


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

Discussions similaires

  1. [py2exe] wxPython et py2exe -> pb de rendu
    Par bibile dans le forum Py2exe
    Réponses: 7
    Dernier message: 14/06/2008, 19h02
  2. [PyQt] [py2exe]
    Par Zorro dans le forum Py2exe
    Réponses: 2
    Dernier message: 05/05/2006, 13h36
  3. [py2exe] Impossible de charger un module...
    Par Mr Hyde dans le forum Py2exe
    Réponses: 3
    Dernier message: 28/09/2005, 17h17
  4. [py2exe] Creation Py2Exe
    Par kedare dans le forum Py2exe
    Réponses: 8
    Dernier message: 15/09/2005, 12h50
  5. wxPython + MatPlotLib + py2exe
    Par bibile dans le forum Py2exe
    Réponses: 1
    Dernier message: 05/08/2005, 22h49

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