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 :

Python exe sql


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 12
    Par défaut Python exe sql
    Bonjour,
    J'ai crée une interface graphique pour une database avec tkinter (contenant des commandes renvoyant à des fichiers ayant un répertoire différents). Lorque je veux rendre mon programme exécutable à l'aide de pyintaller, j'obtiens bien un fichier exe sauf que quand je le lance il me renvoie le fichier de ma database au format (.db) et non une application....

    Avez vous des solutions?
    Merci

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

    Citation Envoyé par Fodchan Voir le message
    Avez vous des solutions?
    Les fichiers de données ne sont pas gérables par un pyinstaller comme le code.... ne serait-ce que parce qu'il faut y accéder via un open qui attend un nom de fichier qui ne sera plus celui de départ (au moins sur la partie chemin).

    Normal que les pyinstaller documentent comment traiter ce cas là. Chaque outil à sa cuisine particulière pour fabriquer la solution et le documente quelque part (sinon on ne peut pas "utiliser"). Puis si la documentation est un peu indigeste, on cherche sur Internet comment d'autres s'en sont dépatouillé pour s'en inspirer.

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

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 12
    Par défaut
    Bonjour,

    C'est après avoir cherché sur Internet que j'ai posé ma question sur le forum. Je ne trouve pas de sujet traitant sur les bases de données, les répertoires différents et sur la transformation en fichier exécutable...

  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,

    J'utilise aussi un programme graphique (PyQt5) d'accès à une base de données sqlite3, et après conversion du programme en exe (cx_freeze ou pyinstaller), ça marche très bien! aussi je ne comprends pas le problème rencontré. Avec aussi peu d'info, on ne sait pas comment t'aider.

    Il faut donner plus de précision sur le problème rencontré. En principe, la base de données ne doit pas faire partie du même paquet que le programme exe, puisque sinon, les mises à jour seraient perdues à chaque lancement. Mais si la base de données est fixe (sans mise à jour d'une cession à l'autre), elle peut être dans le même paquet que l'exe, mais il faudrait recalculer l'adresse d'exécution (c'est dans la doc: https://pyinstaller.readthedocs.io/e...formation.html). Précise aussi les options utilisées pour la conversion par pyinstaller. Etc...

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 12
    Par défaut
    Bonsoir,
    Merci beaucoup pour votre réponse. C'est la première fois que je fais ça donc j'ai suivi un tuto.
    J'ai installer pyinstaller et j'ai écris la commande suivante

    pyinstaller.exe--onefile--icon=favincon.ico

    J'ai tout mis dans un même dossier (les fichiers, la base de données au format db et tous les fichiers qui étaient dans un autre répertoire...) mais après l'importation ça n'a pas fonctionné

  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
    C'est normal que ça ne marche pas: tu vas trop vite. Dans son traitement, pyinstaller ne tient compte uniquement des codes Python, et pas des données.

    Pour dire à pyinstaller de copier aussi les données, il faut ajouter l'option "--add-data" suivi des adresses source et destination de ces données (séparées par ';' sous Windows et ':' sous linux et macos).

    Par exemple, imagine un répertoire "aide" contenant des fichiers d'aide. Relativement au programme traité, cela donnera comme option supplémentaire pour pyinstaller:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    --add-data ".\aide;aide"
    Ce qui permettra à pyinstaller de copier le répertoire entier pour l'intégrer à l'exe.

    Voir toutes les options de la ligne de commande ici: https://pyinstaller.readthedocs.io/en/stable/usage.html

    Et si le programme exe ne trouve pas les données, il faudra revenir à ma remarque sur les calculs d'adresse de mon message précédent.

Discussions similaires

  1. [Python 3.X] PLANTAGE PYTHON.EXE INVALID BLOCK
    Par jouclar dans le forum Général Python
    Réponses: 6
    Dernier message: 27/02/2015, 13h46
  2. [Phonon] Python.exe ne se ferme plus
    Par xonop dans le forum PyQt
    Réponses: 5
    Dernier message: 02/05/2012, 11h45
  3. Réponses: 3
    Dernier message: 13/02/2011, 16h07
  4. Python.exe a rencontré un problème
    Par Chris33 dans le forum Général Python
    Réponses: 5
    Dernier message: 08/05/2010, 13h06
  5. python <-> DB SQL
    Par ths_otra dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 30/04/2008, 02h56

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