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

PyQt Python Discussion :

Installation du pilote MySQL


Sujet :

PyQt Python

  1. #1
    Malikemal
    Invité(e)
    Par défaut Installation du pilote MySQL
    Bonsoir,

    Dans le peu de temps libre que j'ai, j'ai voulu essayer d'apprendre à maîtriser QtSql. Étant habitué à MySql, j'ai décidé de l'installer. Après quelques recherches j'ai vu qu'il fallait télécharger un kit de développement, étant sous ubuntu, j'ai donc installé les 2 paquets suivants : libmysqlclient-dev et mysql-client . Je refait un tour dans la doc, et là je comprends pas tout ... Je vais dans la partie "How to build the QMYSQL plugin on Unix and Mac OS X", et je vois "after insatlling Qt", j'en déduis qu'il faut réinstaller Qt, et par conséquent PyQt ? Ou alors j'ai raté quelque chose ?
    Quoiqu'il en soit, merci de me préciser la marche à suivre pour pouvoir (enfin) utiliser PyQt4.QtSql avec MySql.

    Merci,

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

    Sous Ubuntu, pour Python 2.x, PyQt4 est représenté par les paquets python-qt4-xxx qu'il faut installer. Dans ces différents paquets, il y a python-qt4-sql qui active le QtSql.

    En plus il faut installer le pilote souhaité: les pilotes sont dans les paquets lib-qt4-xxx. Pour mysql, c'est libqt4-qt4-mysql.

    Pour faire du développement, on peut aussi installer le qt4-designer pour dessiner les fenêtres.

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $ sudo apt-get install libqt4-sql
    Mais je m'étonne qu'il ne soit pas déjà installé.


    Edit: Grillé comme on dit. Pareil pour libqt4-sql-mysql, installé par défaut chez moi.

  4. #4
    Malikemal
    Invité(e)
    Par défaut
    Bonsoir,

    J'ai oublié de le préciser mais j'utilise python3.x. Sinon pour libqt4-sql et libqt4-sql-mysql il me dit que j'ai déjà les versions les plus à jour. Voici d'ailleurs ce que me dit l'interpréteur quand je veux créer une instance de QSqlDatabase :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>> from PyQt4.QtSql import *
    >>> db = QSqlDatabase.addDatabase("QMYSQL")
    QSqlDatabase: MYSQL driver not loaded
    QSqlDatabase: available drivers: QSQLITE
    Merci,

  5. #5
    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 Malikemal Voir le message
    J'ai oublié de le préciser mais j'utilise python3.x
    Tu n'as pas choisi la voie la plus facile: Ubuntu installe par défaut Python 2.x (nécessaire au système: ne pas désinstaller!), et propose tous les paquets nécessaires à son extension.

    Pour Python 3.x, ça dépend de la version d'Ubuntu que tu utilises:

    - Pour le dernier Ubuntu 12.04, PyQt4 adapté à Python 3.x est présenté sous forme de paquets python3-pyqt4.

    - Avant cette version, si ce n'est pas le cas, il faut installer PyQt4 par compilation: voir ce fil => http://www.developpez.net/forums/d12...t/get-started/.

    En ce qui concerne le pilote MySql, à mon avis, c'est le même pour les 2 versions de Python, et ce sera la bonne version du PyQt4/QtSql qui le trouveras.

    Après, tu auras sur ton Linux en même temps Python 2.x et Python 3.x et tu devras utiliser un outil de développement qui évite de se "mélanger les pinceaux" entre les 2 versions. En ce qui me concerne, dans cette situation, j'utilise Eclipse+Pydev qui permet de sélectionner l'un ou l'autre des interpréteurs selon le "workspace" de développement choisi.

    Je sais que Python 3.x représente le futur de Python, mais si tu veux déjà apprendre à programmer en graphique PyQt4, Python 2.x est largement suffisant et est plus facile à vivre pour l'instant.

    Si tu en veux plus: précise la version d'Ubuntu que tu utilises.

  6. #6
    Malikemal
    Invité(e)
    Par défaut
    Je suis sous Ubuntu 12.04.

  7. #7
    Malikemal
    Invité(e)
    Par défaut
    J'ai installé le paquet python3-pyqt4.qtsql et j'ai pu instancié l'objet. Mais maintenant il y a un autre problème ... Voilà ce que je commence par taper :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    >>> from PyQt4.QtSql import *
    >>> from PyQt4.QtCore import *
    >>> import sys
    >>> app = QCoreApplication(sys.argv)
    >>> db = QSqlDatabase.addDatabase("QMYSQL")
    >>> db.setHostName("localhost")
    >>> db.setDatabaseName("portfolio")
    >>> db.setUserName("root")
    >>> db.setPassword("")
    >>> ok = db.open()
    >>> ok
    False
    >>> db.lastError().text()
    "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) QMYSQL: Unable to connect"
    Je ne comprends pas cette erreur à vrai dire :/ Pouvez-vous m'aider ?

  8. #8
    Membre expérimenté Avatar de ashren
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 101
    Par défaut
    Petit passage en coup de vent.

    As-tu essayé de remplacer 'localhost' par '127.0.0.1'.

    Sinon, avec un autre logiciel (phpmyadmin) ça fonctionne ?

    Dernière idée qui me vient, mettre un mot de passe et lieu de laisser le mot de passe root vide.

    J'ai pas vraiment de quoi tester sous la main, ce sont juste des idées.

    Bonne journée.

  9. #9
    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
    Je viens d'essayer avec mint13 (compatible ubuntu 12.04), mais avec sqlite parce que je n'ai pas mysql d'installé.

    J'ai installé les paquets suivants:

    python3
    python3-pyqt4
    python3-pyqt4.qtsql
    idle3
    libqt4-sql
    libqt4-sql-sqlite (et toi: libqt4-sql-mysql)

    J'ai appelé idle3, appliqué ton code ligne par ligne (tout au moins les lignes nécessaires à sqlite), et... mon "ok" est True!

    Donc: essaie aussi avec sqlite qui est moins contraignant. Si ça marche: tu as un problème avec la configuration de mysql. Si ça ne marche pas: c'est la configuration de PyQt4!

  10. #10
    Malikemal
    Invité(e)
    Par défaut
    Citation Envoyé par ashren Voir le message
    Petit passage en coup de vent.

    As-tu essayé de remplacer 'localhost' par '127.0.0.1'.
    Sinon, avec un autre logiciel (phpmyadmin) ça fonctionne ?

    Dernière idée qui me vient, mettre un mot de passe et lieu de laisser le mot de passe root vide.

    J'ai pas vraiment de quoi tester sous la main, ce sont juste des idées.

    Bonne journée.
    Bingo

    Après avoir mis un mot de passe, et changé localhost ça a marché !

    Merci à vous,
    Dernière modification par Domi2 ; 29/06/2012 à 13h00.

Discussions similaires

  1. Installer le pilote MySQL
    Par yoshi84300 dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/04/2013, 19h06
  2. Installation apache-php-MySql
    Par Jahjouh dans le forum Apache
    Réponses: 2
    Dernier message: 30/12/2006, 06h21
  3. Installation personnalisée de mysql 4.1.14
    Par titoff002 dans le forum Installation
    Réponses: 6
    Dernier message: 08/09/2005, 13h53
  4. install avec Eclipse / mySQL
    Par gdauvergne dans le forum XMLRAD
    Réponses: 1
    Dernier message: 15/02/2005, 12h25
  5. installation 'automatique' de mysql sous win9x ?
    Par greystock dans le forum Installation
    Réponses: 3
    Dernier message: 07/03/2004, 03h06

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