web-dev-qa-db-fra.com

Python 3.4.0 avec base de données MySQL

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?

46
Srdan Ristic

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 .

69
Andrew Gorcester

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.

20
lxx

Installer le pip:

apt-get install pip

Pour accéder à MySQL depuis Python, installez:

pip3 install mysqlclient
8
Eduardo Basílio

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

4
Steve R.

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

3
SanD
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!

3
MinasA1

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 ...

2
user1656671

Alternativement, vous pouvez utiliser mysqlclient ou oursql . Pour oursql, utilisez la série oursql py3k comme pointeur de mon lien.

1
Frozen Flame

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

1
AbsoluteMSTR

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()
1
imonaboat

pour Fedora et python3, utilisez: dnf install mysql-connector-python3

0
netcoms