1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2016
    Messages : 4
    Points : 1
    Points
    1

    Par défaut [ Python 3.X ] Programme converti en .exe avec cx_freeze, problème de librairie

    Bonjour à tous!

    J'ai un programme en plusieurs fichiers .py.

    J'utilise cx_freeze et python 3.6.

    L’exécutable plante et me met des erreurs particulièrement sur des librairies externes que j'ai utilisées comme weasyprint.

    cx_freeze n'ajoute pas ces librairies externes dans le .exe?

    Merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2013
    Messages
    740
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2013
    Messages : 740
    Points : 977
    Points
    977

    Par défaut

    Je connais mal cx_freeze mais je pense qu'il faudrait que tu montres comment tu t'y prends, de toutes façons.
    Pas d'aide par mp.

  3. #3
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    10 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 10 203
    Points : 16 656
    Points
    16 656

    Par défaut

    Citation Envoyé par drakitsu Voir le message
    cx_freeze n'ajoute pas ces librairies externes dans le .exe?
    cx_freeze fait ce qu'il peut pour détecter les bibliothèques utilisées et quand il ne s'en sort pas tout seul comme un grand, il faut l'aider en utilisant les options qui vont bien comme cela est expliqué dans la FAQ.

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

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2016
    Messages : 4
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par wiztricks Voir le message
    cx_freeze fait ce qu'il peut pour détecter les bibliothèques utilisées et quand il ne s'en sort pas tout seul comme un grand, il faut l'aider en utilisant les options qui vont bien comme cela est expliqué dans la FAQ.

    - W
    J'ai utilisé la commande
    python cxfreeze-quickstart
    Puis j'ai suivi les infos.

    Donc selon la doc, il faut que je fasse un include de toutes les librairies que j'utilise avec un include en passant par un setup?

    A quel niveau du fichier je note les includes?

  5. #5
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    10 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 10 203
    Points : 16 656
    Points
    16 656

    Par défaut

    Citation Envoyé par drakitsu Voir le message
    A quel niveau du fichier je note les includes?
    Dans le texte de la FAQ il y a des mots qui sont attachés à des URL qui vous renvoient à la documentation.... il faut commencer par les suivre.

    Citation Envoyé par drakitsu Voir le message
    J'ai utilisé la commande
    python cxfreeze-quickstart
    Puis j'ai suivi les infos.
    et mettre à jour le fichier/script setup.py qui a été créé par "cxfreeze-quickstart".

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

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2016
    Messages : 4
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par wiztricks Voir le message
    Dans le texte de la FAQ il y a des mots qui sont attachés à des URL qui vous renvoient à la documentation.... il faut commencer par les suivre.



    et mettre à jour le fichier/script setup.py qui a été créé par "cxfreeze-quickstart".

    - W
    Excuse moi je ne suis pas expert en programmation^^

    Il faut donc que je l'indique sous cette forme?
    buildOptions = dict(packages = [], excludes = [], include_files= ["weasyprint"])

    ou celle ci?
    buildOptions = dict(packages = [], excludes = [], includes= ["weasyprint"])

  7. #7
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    10 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 10 203
    Points : 16 656
    Points
    16 656

    Par défaut

    Citation Envoyé par drakitsu Voir le message
    Excuse moi je ne suis pas expert en programmation^^
    Il s'agit d'un mode d'emploi qui requiert de la curiosité et juste savoir lire comme s'il s'agissait du mode d'emploi d'une machine à laver.

    Citation Envoyé par drakitsu Voir le message
    Il faut donc que je l'indique sous cette forme?
    buildOptions = dict(packages = [], excludes = [], include_files= ["weasyprint"])

    ou celle ci?
    buildOptions = dict(packages = [], excludes = [], includes= ["weasyprint"])
    Le mode d'emploi dit bien que "includes" est pour les packages Python alors que "include_files" est pour les "dll".
    Pour savoir quoi mettre dans ces listes, il faut connaître le produit "weasyprint".

    Quand on lit le document d'installation (de weasyprint), il y a beaucoup de dépendances externes. Une piste serait de rechercher un setup.py fait pour et de croiser les doigts pour qu'il fonctionne.

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

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2016
    Messages : 4
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par wiztricks Voir le message
    Il s'agit d'un mode d'emploi qui requiert de la curiosité et juste savoir lire comme s'il s'agissait du mode d'emploi d'une machine à laver.



    Le mode d'emploi dit bien que "includes" est pour les packages Python alors que "include_files" est pour les "dll".
    Pour savoir quoi mettre dans ces listes, il faut connaître le produit "weasyprint".

    Quand on lit le document d'installation (de weasyprint), il y a beaucoup de dépendances externes. Une piste serait de rechercher un setup.py fait pour et de croiser les doigts pour qu'il fonctionne.

    - W
    Alors si pour toi c'est aussi simple que de lire le mode d'emploi d'une machine à laver tant mieux

    C'est pour ça que je fais appel à ce forum car je suis perdu pour lire "ce mode d'emploi".

    Je suis très curieux, c'est pour ça que je viens vous voir pour apprendre de vos connaissances/expériences.

  9. #9
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    10 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 10 203
    Points : 16 656
    Points
    16 656

    Par défaut

    Citation Envoyé par drakitsu Voir le message
    C'est pour ça que je fais appel à ce forum car je suis perdu pour lire "ce mode d'emploi".

    Je suis très curieux, c'est pour ça que je viens vous voir pour apprendre de vos connaissances/expériences.
    Je vous la refait...
    Le problème n'est pas tellement côté cx_freeze mais dans les bibliothèques et DLL dont dépend "weasyprint" (qu'il va falloir renseigner dans setup.py pour que cx_freeze s'en sorte).
    Seule une personne qui a déjà fait ce boulot là pourra vous aider...

    Soit vous attendez qu'elle passe par là soit vous cherchez sur internet le setup.py de quelqu'un qui a déjà fait ce boulot pour vous en inspirer.

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

Discussions similaires

  1. [Compiler] Gui ne marche pas quand je la converti en exe avec deploytool
    Par yashiromah dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 08/02/2012, 10h07
  2. Exécuter un .exe avec des paramètres à partir d'un script python
    Par soufianesse dans le forum Général Python
    Réponses: 3
    Dernier message: 06/10/2011, 14h59
  3. Programme pour un logiciel avec Python 3.2
    Par Amnael dans le forum Général Python
    Réponses: 14
    Dernier message: 12/08/2011, 10h21
  4. ouvrir un programme visual basic 2008 avec python
    Par saimyas dans le forum Interfaçage autre langage
    Réponses: 0
    Dernier message: 30/05/2011, 16h22
  5. py 3.1 --> exe avec cx_freeze
    Par helpy dans le forum Déploiement/Installation
    Réponses: 1
    Dernier message: 19/06/2010, 10h43

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