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

Py2exe Python Discussion :

[py2exe] Exécutable avec Mysql


Sujet :

Py2exe Python

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 259
    Points : 195
    Points
    195
    Par défaut [py2exe] Exécutable avec Mysql
    Bonjour à tous!
    Bon, je vais y aller de ma question à la c.. et j'en suis désolé par avance
    J'ai commencé à apprendre la programmation objet avec Python. Là-dessus, je me renseigne, je m'instruis et je galère.... Bref
    Je cherche, au final, à faire un logiciel qui "dialoguerait" avec une base de données MySQL.
    Je compte utiliser py2exe pour compiler le tout et mettre le logiciel sous forme d'executable, mais je suppose que je ne pourrai pas mettre dans ce ".exe" la base de données que j'aurai créée. Cela signifie que l'ordinateur hôte du logiciel devra avoir MySQL d'installé, et la ou les bases utiles au logiciel dedans. Me trompé-je? (à la limite, je suppose que si MySQL est installé sur l'ordinateur, je peux vérifier l'existence des tables, et les créér si nécessaire... Mais si MySQL n'est pas présent? Si une table porte déjà le même nom qu'une des miennes....?)
    N'y a-t-il pas un moyen de pouvoir intégrer les bases dans le ".exe", afin de ne rien devoir installer sur un nouvel ordinateur autre que le logiciel? Faut-il que je me tourne vers autre chose que MySQL pour faire ce logiciel?
    J'ai de la doc sur le module Gadfly. Mais il est dit que c'est pour de petites applications, avec des bases de données de taille moyenne... Ca veut dire quoi "moyenne"?
    Quelles sont les solutions qui s'offrent à moi si je ne veux pas être dépendant d'un manque chez l'ordinateur hôte?
    Merci pour vos avis et commentaires.
    Bonne soirée!
    La vie n'est qu'une succession d'éternels recommencements

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    J'aurais tendance à dire de pas utiliser MySQL.

    Vois du coté de sqlite, c'est une base de données qui n'a pas besoin d'être installé. C'est pas aussi "efficace" et "optimisé que MySQL mais suivant les besoins, celà peut faire l'affaire.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DelphiManiac
    J'aurais tendance à dire de pas utiliser MySQL.

    Vois du coté de sqlite, c'est une base de données qui n'a pas besoin d'être installé. C'est pas aussi "efficace" et "optimisé que MySQL mais suivant les besoins, celà peut faire l'affaire.
    Certes mais avec SQLite le "problème" restera le même : il faudra que SQLite soit installé sur le PC où l'application sera déployé, je me trompe ? Si je ne me trompe pas, alors Gadfly pourrait être une solution car distribué avec Python, donc aucune librairie ou BDD à installer !

    Pour la taille de la base je ne saurais pas trop te dire à quoi cela correspond... Ta base sera très volumineuse, tu as un ordre d'idées du nombre d'enregistrements qu'elle pourrait comporter ? Apparemment les bases gadfly sont chargées intégralement en mémoire vive, donc ça peut être une limitation, surtout si tu as des champs binaires..?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 259
    Points : 195
    Points
    195
    Par défaut
    Bonjour, et merci pour vos réponses.
    Alors, j'ai commencé à rechercher des infos sur sqlite, et j'ai pu entendre parler de aspw, qui serait très bien fait pour gérer tout ça. Et nulle part je n'ai vu qu'il fallait installer autre chose qu'un module supplémentaire pour faire interagir avec Python... Mais bon, j'ai pas vu non plus qu'il ne fallait pas installer quelque chose, donc bon...
    Pour ma base, en fait, j'avais déjà créé un petit site internet qui gérait 4 tables, et faisait à peu moins de 2Mo (1,68 pour être précis). Mais maintenant que je refais tout pour en faire un logiciel, je me demande s'il ne va pas y avoir plus de tables, et si ça ne va pas prendre encore plus de place.
    Mais je viens de repenser que je vais devoir gérer de nombreuses images (j'en suis pour le moment à 1,11 Go, et je continue d'en rajouter), et que s'il faut que je les intègre toutes à mon ".exe", ça va être assez problématique
    Alors je me demande si je ne vais pas mettre les images, et du coup la base de données, sur un serveur, et me connecter via internet pour récupérer le tout...? Ce qui impliquerait une connection sur l'ordinateur hôte pour que le logiciel fonctionne... Mouais, ben c'est pas gagné!
    Bon, je vais réfléchir à tout ça, mais vos conseils sont évidemment les bienvenus, surtout si je décide malgré tout d'intégrer ma bdd à mon ".exe" (et puis, ça pourra toujours me servir pour plus tard)
    Encore merci.
    La vie n'est qu'une succession d'éternels recommencements

  5. #5
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Bonsoir,

    Petite remarque: integrer des images dans une BDD, c'est pas une très bonne idée, ca alourdit pour rien, il est plutôt conseillé de garder en BDD l'emplacement de tes images.

    Regarde aussi du côté de SQLAlchemy, c'est un ORM vraiment puissant, tu peux créer un programme sans te soucier des requetes SQL pour ne travailler qu'avec des objets, vraiment sympa


    Et SQLite est vraiment bien pour de l'embarquer.
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 259
    Points : 195
    Points
    195
    Par défaut
    Alors, euh... Je me suis peut-être mal exprimé : il n'est pas du tout question que mes images soient gérées par la bdd. Elles sont dans un repertoire à part, et pas question qu'elles aillent ailleurs. Elles ont pour noms le numéro d'identifiant dans la table, donc très facile à récupérer.
    Mais si je veux faire un ".exe", faudra que je compile également le dossier contenant toutes les images... ce qui risque de faire très lourd (si c'est possible avec py2exe d'ailleurs, ce que je ne sais pas encore)
    Donc on verra à l'arrivée comment ca sera. De toute manière, je pense qu'il sera très simple de changer la ligne d'appel à l'image, donc ce n'est pas vraiment un souci.
    Par contre, Pacificator, c'est quoi un ORM?
    Merci de vous pencher sur le sujet.
    Bonne soirée!
    La vie n'est qu'une succession d'éternels recommencements

  7. #7
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Dixit wikipedia :
    L'object-relational mapping (ORM), que l'on pourrait traduire par « correspondance entre monde objet et monde relationnel » est une technique de programmation informatique qui crée l'illusion d'une base de données orientée objet à partir d'une base de données relationnelle en définissant des correspondances entre cette base de données et les objets du langage utilisé.
    Je te renvoie vers le site de SQLAlchemy pour les exemples.
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 259
    Points : 195
    Points
    195
    Par défaut
    Merci beaucoup pacificator.
    Après moults recherches, je peux effectivement confirmer qu'il n'est pas besoin que SQLite soit sur l'ordinateur hôte pour faire fonctionner le logiciel crée.
    Par contre, la galère va être de compiler tout ça avec py2exe. J'ai rien trouvé qui permette de croire que c'est possible... Mais vu que je sais pas encore comment ça se passe, je ne vais rien dire dessus.
    Quelqu'un sait comment ça fonctionne?
    Par contre, pour SQLAlchemy... euh... La doc est tout en anglais!!
    Mais je vais essayer! Promis, j essaye!!
    La vie n'est qu'une succession d'éternels recommencements

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 259
    Points : 195
    Points
    195
    Par défaut
    Bon, ben voilà, c'est réglé.
    Je passe par SQLAlchemy comme conseillé, et même si c'est un peu la galère (y a des subtilités qui m'échappent, parce que j'ai toujours besoin des requêtes SQL, mais bon...), tout fonctionne très bien et je peux créer un exécutable en un seul fichier, plus un fichier pour la base de données, plus un fichier par image...
    Merci beaucoup pour votre aide.
    La vie n'est qu'une succession d'éternels recommencements

  10. #10
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Bonjour,

    Je me permets de relancer ce topic car je rencontre un problème assez similaire à celui que tu as à priori eu.

    J'ai crée un script avec une bdd sqlite, je compile le tout mais lorsque je clique sur l'exécutable celui-ci ne se lance pas.
    A priori tu as pu résoudre ce problème avec

    Je voulais donc savoir si:
    * Tu avais pu refaire des essais convainquant dernièrement avec Sqlite?
    * il était possible d'avoir une petite explication de ce que tu as fait avec SQLAlchemy, si la réponse à la question précédente n'est pas celle attendue.

    D'avance merci

    Jiyuu
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

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

Discussions similaires

  1. Rapidité d'exécution avec MySQL
    Par gblassel dans le forum Requêtes
    Réponses: 1
    Dernier message: 19/06/2014, 10h45
  2. exécuter un fichier .sql avec mySQL.lib (en C++)
    Par netah25 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 18/09/2006, 09h36
  3. Help ODBC avec Mysql
    Par Ashura75013 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/02/2004, 08h11
  4. Probleme avec Mysql
    Par kevinss dans le forum Administration
    Réponses: 5
    Dernier message: 31/10/2003, 10h43
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

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