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 :

Créer un executable d'un programme python


Sujet :

Déploiement/Installation Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2018
    Messages : 69
    Par défaut Créer un executable d'un programme python
    Bonjour

    J'ai vu les différentes conversations par rapport à la création d'exe à partir de Cx_freeze et autres, ceux ci demandant des
    modules que j'ai installé mais qu'ils ne trouvent pas, j'essaye de créer mon exécutable directement à partir de Visual Studio.

    De la ma question: Est il nécessaire que le programme s'execute sans problème pour pouvoir être release?
    Il y a une boucle infini dans mon programme, pour le couper je dois donc forcer ce qui correspond à une erreur dans l'execution.

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

    Citation Envoyé par BoorBox Voir le message
    De la ma question: Est il nécessaire que le programme s'execute sans problème pour pouvoir être release?
    Ça serait bien qu'il s'exécute en dehors de l'environnement de développement (i.e. lancé depuis la console). Pour ce qui est des "bugs"/problèmes et autres défauts, ce sont les utilisateurs qui subiront...

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

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2018
    Messages : 69
    Par défaut
    En soit il n'y a pas de problèmes pour l'utilisateur. Le programme est une tâche de fond qui fait passer un fichier encodé en UTF-8 en fichier encodé en UTF-16.
    Donc j'ai créé une boucle infinie sans conditions d'arrêts pour que dès que le fichier est modifié il y ai le changement d'encodage.

    Et vu que je ne comprends pas très bien le fonctionnement de cx_freeze et des setup.py et qu'il ne s'installe pas bien avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    py -m pip install cx_freeze
    j'ai voulu essayer autre chose en sachant que l'es IDE permettent de créer des exécutables

  4. #4
    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,

    Je n'utilise pas Visual Studio, mais ça m'étonnerais qu'il puisse créer des exécutables Python sans cx-freeze ou pyinstaller (ou autres).

    Pour installer cx_freeze avec Python 3.7.1 (je viens de le faire), il faut utiliser le wheel ici: https://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_freeze. On télécharge le bon fichier (32 ou 64bits) qu'on place dans un répertoire, on ouvre une console, on se place dans ce répertoire avec "cd", et on utilise pip pour l'installation (pip install xxx.whl).

    Et pour faire un exécutable, on fait le traitement en console. Si ça ne marche pas, on lit les erreurs et on aide le traitement en ajoutant ce qu'il ne trouve pas tout seul.

    Ce traitement pour faire un exécutable n'est pas une compilation en code natif, mais une "encapsulation" de l'interpréteur Python et des modules nécessaires, avec le code du programme compilé en "byte-codes". Le programme Python converti en "exe" est donc toujours interprété.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2018
    Messages : 69
    Par défaut
    Ok Super merci beaucoup j'ai compris comment fonctionnait les .whl, j'arrivais pas à comprendre ce qui se passait lors de l'exécution d'un commande "pip install".
    En fait ça appelle des fichier whl qui permettent d'installer différentes librairies.

    Il y avait juste une petite action à réaliser pour créer un exe d'un fichier python 3.
    A trop se presser j'ai raté des étapes.

    Et ensuite tous les fichiers nécessaire pour l'exécution de mon .exe sont les .dll c'est ca?

  6. #6
    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,

    Citation Envoyé par BoorBox Voir le message
    Et ensuite tous les fichiers nécessaire pour l'exécution de mon .exe sont les .dll c'est ca?
    Pas seulement. En fait, cx_freeze crée un répertoire dans lequel se trouvent l'exécutable voulu (exe sous Windows), et tout ce qui est nécessaire à son exécution: dll, pyc, pyd, etc... On peut aussi avoir des données, des icônes, des fichiers d'aide, etc...

    Et c'est le répertoire lui-même avec tout son contenu qu'on doit copier pour pouvoir exécuter le programme ailleurs.

    A noter que cx_freeze n'est pas capable de créer un fichier unique "exe" pour ça. Alors que pyinstaller le fait, mais c'est un peu artificiel puisqu'au lancement, le programme commence par un désarchivage dans un répertoire temporaire, et l'exécution elle-même se fera dans ce répertoire.

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

Discussions similaires

  1. Créer un pdf à partir de Visual Studio
    Par wallace27 dans le forum C
    Réponses: 0
    Dernier message: 14/03/2015, 12h15
  2. Créer un Setup à partir de Visual Studio 2008
    Par ola-oz dans le forum Visual Studio
    Réponses: 6
    Dernier message: 16/08/2010, 14h18
  3. Réponses: 2
    Dernier message: 19/10/2009, 23h19
  4. Pc s'éteind quand j'execute C sous Visual Studio 2005
    Par Namson dans le forum Windows XP
    Réponses: 3
    Dernier message: 23/01/2009, 19h58
  5. Réponses: 1
    Dernier message: 19/07/2007, 21h09

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