J'ai installé Version Python 3.4.0 et j'aimerais faire un projet avec la base de données MySQL. J'ai téléchargé et essayé d'installer MySQLdb , mais cela n'a pas réussi pour cette version de Python. Des suggestions comment pourrais-je résoudre ce problème et l'installer correctement?
MySQLdb ne supporte pas Python 3 mais ce n'est pas le seul pilote MySQL pour Python.
mysqlclient est essentiellement un fork de MySQLdb avec le support Python 3 intégré (et quelques autres améliorations).
PyMySQL est un pilote MySQL pur en python, ce qui signifie qu'il est plus lent, mais qu'il ne nécessite pas l'installation d'un composant C compilé ou d'une bibliothèque MySQL ni de fichiers d'en-tête sur les ordinateurs clients. Il prend en charge Python 3.
Une autre option consiste simplement à utiliser un autre système de base de données tel que PostgreSQL .
Utilisez mysql-connector-python . Je préfère l'installer avec pip de PyPI :
pip install --allow-external mysql-connector-python mysql-connector-python
Regardez sa documentation et exemples .
Si vous envisagez d'utiliser le pooling, assurez-vous que votre base de données dispose d'un nombre suffisant de connexions. Les paramètres par défaut risquent de ne pas suffire.
Installer le pip:
apt-get install pip
Pour accéder à MySQL depuis Python, installez:
pip3 install mysqlclient
Une solution Ubuntu est disponible via le Centre de logiciel Ubuntu ou le gestionnaire de paquets Synaptic. Cela connectera la version 3.4.0 de Python à MySQL. Téléchargez "python3-mysql.connector} _" version 1.1.6-1.
Notez que la syntaxe de connexion n'utilise pas utilise "MySQLdb". A la place, lisez: Connexion à MySQL avec Connector/Python
Je l'ai résolu de cette façon: Téléchargez le paquet compressé à partir de ici et suivez ces instructions
unzip /path/to/downloads/folder/mysql-connector-python-VER.Zip
Si vous avez un .gz
vous pouvez utiliser ->
tar xzf mysql-connector-python-VER.tar.gz
Et alors:
cd mysql-connector-python-VER # move into the directory
Sudo python3 setup.py install # NOTICE I USED PYTHON3 INSTEAD OF PYTHON
Vous pouvez lire à ce sujet ici
Sudo apt-get install python3-dev
Sudo apt-get install libmysqlclient-dev
Sudo apt-get install zlib1g-dev
Sudo pip3 install mysqlclient
cela a fonctionné pour moi!
Il semble qu’à l’heure actuelle, Ubuntu 15.10 ne possède qu’un mais avec python3 et pip3.
Comme expliqué dans cet article .
Le problème fait que pip3 installe python3.5 alors que python3 est en train d’exécuter python3.4 :(
Jusqu'à ce qu'une solution appropriée soit disponible via les mises à jour, vous pouvez effectuer l'une des opérations suivantes:
courir
python3 -m pip install pymysql
au lieu de
pip3 install pymysql
(ou tout autre forfait)
À présent
import pymysql
devrait fonctionner en python3 et en idle3.
Si vous avez explicitement besoin de la version 3.5, vous pouvez également utiliser python3.5 à la place de python3. mais idle3 pointera toujours vers 3.4 ...
Alternativement, vous pouvez utiliser mysqlclient ou oursql . Pour oursql, utilisez la série oursql py3k comme pointeur de mon lien.
mysqlclient est un fork de MySQLdb et peut servir de remplacement instantané au support Python 3.4. Si vous rencontrez des difficultés pour le construire sous Windows, vous pouvez le télécharger à partir de Fichiers binaires Windows non officiels de Christoph Gohlke pour les packages d'extension Python
Peut-être que vous pouvez utiliser un moyen de contourner et essayer quelque chose comme:
import datetime
#import mysql
import MySQLdb
conn = MySQLdb.connect(Host = '127.0.0.1',user = 'someUser', passwd = 'foobar',db = 'foobardb')
cursor = conn.cursor()
pour Fedora et python3, utilisez: dnf install mysql-connector-python3