it-swarm.com.de

Python 3.4.0 mit MySQL-Datenbank

Ich habe Python Version 3.4.0 installiert und möchte ein Projekt mit MySQL-Datenbank durchführen. Ich habe MySQLdb heruntergeladen und versucht, es zu installieren, aber es war für diese Version von Python nicht erfolgreich. Anregungen, wie ich dieses Problem beheben und ordnungsgemäß installieren kann?

46
Srdan Ristic

MySQLdb unterstützt Python 3 nicht, es ist jedoch nicht der einzige MySQL-Treiber für Python.

mysqlclient ist im Wesentlichen nur ein Zweig von MySQLdb, bei dem die Unterstützung von Python 3 eingebunden ist (und einige andere Verbesserungen).

PyMySQL ist ein reiner MySQL-Treiber für Python, was bedeutet, dass er langsamer ist, aber auf Client-Computern muss keine kompilierte C-Komponente oder MySQL-Bibliotheken und Header-Dateien installiert sein. Es hat Python 3-Unterstützung.

Eine andere Option ist, einfach ein anderes Datenbanksystem wie PostgreSQL zu verwenden.

69

Verwenden Sie mysql-connector-python . Ich bevorzuge es, es mit pip von PyPI zu installieren:

pip install --allow-external mysql-connector-python mysql-connector-python

Schauen Sie sich seine Dokumentation und Beispiele an.

Wenn Sie Pooling verwenden möchten, müssen Sie sicherstellen, dass für Ihre Datenbank genügend Verbindungen verfügbar sind. Die Standardeinstellungen sind möglicherweise nicht ausreichend.

20
lxx

Install pip:

apt-get install pip

Für den Zugriff auf MySQL über Python installieren Sie:

pip3 install mysqlclient
8

Es gibt eine Ubuntu-Lösung, die entweder über das Ubuntu Software Center oder über den Synaptic Package Manager verfügbar ist. Dadurch wird die Python-Version 3.4.0 mit MySQL verbunden. Laden Sie "python3-mysql.connector" Version 1.1.6-1 herunter.

Beachten Sie, dass die Verbindungssyntax nicht "MySQLdb" verwendet. Stattdessen lesen Sie: Verbindung zu MySQL mithilfe von Connector/Python

4
Steve R.

Ich habe es so gelöst: Laden Sie das gezippte Paket von here herunter und befolgen Sie diese Anweisungen:

unzip  /path/to/downloads/folder/mysql-connector-python-VER.Zip  

Falls Sie einen .gz haben, können Sie -> verwenden 

tar xzf mysql-connector-python-VER.tar.gz 

Und dann:

cd mysql-connector-python-VER  # move into the directory

Sudo python3 setup.py install # NOTICE I USED PYTHON3 INSTEAD OF PYTHON

Sie können darüber lesen hier

3
SanD
Sudo apt-get install python3-dev
Sudo apt-get install libmysqlclient-dev
Sudo apt-get install zlib1g-dev
Sudo pip3 install mysqlclient

das hat für mich funktioniert!

3
MinasA1

Es scheint, dass Ubuntu 15.10 im Moment ein Python3 und ein Pip3 hat.

Wie in diesem Artikel ausgeführt.

Das Problem führt dazu, dass pip3 auf python3.5 installiert wird, während auf python3 tatsächlich python3.4 ausgeführt wird :(

Bis eine geeignete Lösung über die Updates verfügbar ist, haben Sie folgende Möglichkeiten:

lauf

python3 -m pip install pymysql

anstatt

pip3 install pymysql

(oder ein anderes Paket)

Jetzt 

import pymysql

sollte in python3 und in idle3 funktionieren.

Wenn Sie explizit 3.5 benötigen, können Sie alternativ explizit Python3.5 anstelle von Python3 verwenden. aber idle3 wird immer noch auf 3.4 zeigen ...

2
user1656671

Alternativ können Sie mysqlclient oder oursql verwenden. Verwenden Sie für oursql die oursql py3k-Serie, auf die mein Link verweist.

1
Frozen Flame

mysqlclient ist ein Zweig von MySQLdb und kann als Drop-In-Ersatz für Python 3.4-Unterstützung dienen. Wenn Sie Probleme beim Erstellen unter Windows haben, können Sie es von Christoph Gohlkes inoffiziellen Windows-Binärdateien für Python-Erweiterungspakete herunterladen

1
AbsoluteMSTR

Vielleicht kannst du eine Workaround verwenden und so etwas versuchen:

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

für Fedora und Python3 verwenden Sie: dnf install mysql-connector-python3

0
netcoms