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

Python Discussion :

Geopandas et le fichier exécutable (.exe)


Sujet :

Python

  1. #1
    Membre du Club
    Homme Profil pro
    ngénieur d'etat en science géodésique et travaux topographique
    Inscrit en
    septembre 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ngénieur d'etat en science géodésique et travaux topographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : septembre 2016
    Messages : 74
    Points : 49
    Points
    49
    Par défaut Geopandas et le fichier exécutable (.exe)
    comment inclure le module Geopandas dans le fichier exécutable (.exe) par l'utilistation de l'outil auto-py-to-exe

    J'ai rencontré ce problème et la raison est que cette bibliothèque n'est pas incluse

    Nom : Capturevv.PNG
Affichages : 74
Taille : 5,9 Ko

  2. #2
    Membre confirmé Avatar de Bayard
    Inscrit en
    juin 2002
    Messages
    775
    Détails du profil
    Informations forums :
    Inscription : juin 2002
    Messages : 775
    Points : 639
    Points
    639
    Par défaut
    Bonjour

    Aprés avoir installer pip bien sur.

    Bonne soirée
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2007
    Messages
    4 061
    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 061
    Points : 8 400
    Points
    8 400
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    auto-py-to-exe est une interface graphique à pyinstaller. Le message d'erreur signalé est courant quand la conversion py=>exe s'est mal passée. Il n'est pas toujours possible de voir d'où ça vient en lisant simplement les logs du traitements, mais ça vaut quand même le coup de regarder. Sinon, on peut essayer l'ajout du module que pyinstaller n'a pas trouvé avec les arguments adaptés: https://pyinstaller.readthedocs.io/en/stable/usage.html.

    Quand ça devient compliqué, je suggère de revenir à pyinstaller directement, parce que je sais pas dans quel mesure auto-py-to-exe limite ses possibilités de paramétrage.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  4. #4
    Membre du Club
    Homme Profil pro
    ngénieur d'etat en science géodésique et travaux topographique
    Inscrit en
    septembre 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ngénieur d'etat en science géodésique et travaux topographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : septembre 2016
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par tyrtamos Voir le message
    on peut essayer l'ajout du module que pyinstaller n'a pas trouvé avec les arguments adaptés: https://pyinstaller.readthedocs.io/en/stable/usage.html.
    .
    Bonjour,

    Ce que j'ai compris de votre réponse tyrtamos, c'est que l'importation de module Geopandas se fait à traver un fichier .spec Quelqu'un peut-il expliquer les commandes de ce fichier?

  5. #5
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2007
    Messages
    4 061
    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 061
    Points : 8 400
    Points
    8 400
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par rabeh.ram Voir le message
    ...c'est que l'importation de module Geopandas se fait à traver un fichier .spec Quelqu'un peut-il expliquer les commandes de ce fichier?
    Je n'utilise jamais la solution du fichier "xxx.spec", parce que je trouve ça inutilement compliqué. Mais peut-être que dans certain cas, c'est indispensable?

    Voilà comment je fais: sous Windows, je crée un fichier "xxx.bat", dans lequel je lance pyinstaller.exe avec les arguments de la ligne de commande. Tout en profitant d'une particularité de ce type de fichier: toute ligne terminée par '^' est considérée comme poursuivie par la ligne suivante.

    Voilà un exemple d'un tel fichier pour un simple code pour console (donc non-graphique):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SET programme=monprogramme
     
    IF EXIST build RMDIR /S /Q build
    IF EXIST dist RMDIR /S /Q dist
     
    pyinstaller ^
    --clean ^
    --noconfirm ^
    --onefile ^
    --noupx ^
    %programme%.py
     
    PAUSE
    - Les 2 lignes "IF..." servent à éliminer les traces des précédents traitements. Le reste est facile à comprendre (vérifier dans la doc).

    - Si c'est un programme graphique, il faut ajouter: --noconsole ^

    - Le traitement par pyinstaller ne touche que les codes python et les modules à importer. Il ne touche pas aux fichiers "non-python". Par exemple, il ne transfère pas les icônes que le programme graphique devrait utiliser. Dans ce cas, il faut ajouter, par exemple: --icon ".\%programme%.ico" ^ pour l'icone à intégrer dans l'exe, et --add-data ".\%programme%.png;." ^ pour l’icône à placer dans la fenêtre graphique. Pareil pour les fichiers et répertoires qui contiennent des données. Par exemple, recopie d'un répertoire qui contient les fichiers d'aide: --add-data ".\aide;aide" ^. Dans cet exemple, on voit la logique: avant le ';' (mais c'est ':' pour Linux/MacOS), c'est le répertoire source, et après, c'est le répertoire destination.

    Attention à l'accès aux fichiers de données: l'exécution de l"exe ne voit pas les données au même endroit que le programme .py. Pour trouver le bon répertoire d'exécution, c'est encore dans la notice:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        # Répertoire d'exécution avec ou sans pyinstaller (onedir ou onefile)
        if getattr(sys, 'frozen', False):
            REPEXE = sys._MEIPASS # programme traité par pyinstaller
        else:
            REPEXE = os.path.dirname(os.path.abspath(__file__)) # prog. normal
    Ainsi, pour que le code retrouve l’icône de la fenêtre graphique dans tous les cas, il faudra recalculer son chemin: os.path.join(REPEXE, "monicone.png").

    Quant à ajouter des modules que pyinstaller n'a pas trouvé, je n'ai jamais eu le problème jusqu'à présent. Je suggère d'essayer les options --add-binary SRC;DEST ou --hidden-import MODULENAME comme indiqué dans la notice dont je rappelle le lien: https://pyinstaller.readthedocs.io/e...here-to-search.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  6. #6
    Membre du Club
    Homme Profil pro
    ngénieur d'etat en science géodésique et travaux topographique
    Inscrit en
    septembre 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ngénieur d'etat en science géodésique et travaux topographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : septembre 2016
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    Je vais essayer votre idée, merci beaucoup

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2007
    Messages
    4 061
    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 061
    Points : 8 400
    Points
    8 400
    Billets dans le blog
    6
    Par défaut
    Bonjour

    Puisque ça n'a pas l'air de marcher, voilà une idée supplémentaire. Mais comme je ne connais ni pandas ni Geopandas, elle restera générale.

    Il est rare que pyinstaller ne trouve pas un module importé par le code, mais ça peut arriver si, par exemple, le module est importé dans le code de façon inhabituelle (avec __import__ par exemple).

    Quand un truc ne marche pas, il faut commencer par explorer la doc, et celle de pyinstaller traite de cette question: https://pyinstaller.readthedocs.io/e...r-find-modules

    Il faudrait donc peut-être utiliser l'option "--hidden-import" en ligne de commande. Et si ça ne suffit pas, il faudra signaler (voir comment dans la doc) avant l'emplacement de ce module à pyinstaller, pour qu'il le trouve.

    Comme je n'ai jamais encore rencontré ce problème, je n'ai pas d'autres idées sur cette question.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/03/2017, 17h16
  2. [Upload] upload fichier exécutable
    Par Thib dans le forum Langage
    Réponses: 8
    Dernier message: 16/02/2006, 14h04
  3. Création du fichier setup.exe
    Par lishou dans le forum Runtime
    Réponses: 1
    Dernier message: 20/10/2005, 16h20
  4. Réponses: 3
    Dernier message: 17/10/2005, 12h44
  5. [Erreur de fichier]dbd32.exe
    Par Giovanny Temgoua dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/04/2004, 12h45

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