Python 3.4.0与MySQL数据库

时间:2014-04-29 22:01:33

标签: python mysql python-3.x mysql-python python-3.4

我已经安装了 Python版本 3.4.0 ,我想用MySQL数据库做一个项目。我下载并尝试安装 MySQLdb ,但这个版本的Python并没有成功。任何建议我如何解决这个问题并正确安装?

11 个答案:

答案 0 :(得分:69)

MySQLdb不支持Python 3,但它不是Python的唯一MySQL驱动程序。

mysqlclient本质上只是MySQLdb的一个分支,其中包含Python 3支持(以及其他一些改进)。

PyMySQL是纯Python的MySQL驱动程序,这意味着它更慢,但它不需要在客户端计算机上安装已编译的C组件或MySQL库和头文件。它支持Python 3。

另一个选择就是使用另一个数据库系统,如PostgreSQL

答案 1 :(得分:20)

使用mysql-connector-python。我更喜欢用来自PyPI的点子安装它:

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

查看其documentationexamples

如果要使用池,请确保您的数据库有足够的连接可用 因为默认设置可能不够。

答案 2 :(得分:8)

安装pip:

apt-get install pip

对于Python中的访问MySQL,请安装:

pip3 install mysqlclient

答案 3 :(得分:4)

通过Ubuntu软件中心或通过Synaptic Package Manager可以获得Ubuntu解决方案。这将把Python版本3.4.0连接到MySQL。下载" python3-mysql.connector "版本1.1.6-1。

请注意,连接语法使用" MySQLdb "。 请改为阅读:Connecting to MySQL Using Connector/Python

答案 4 :(得分:3)

我这样解决了: 从here下载压缩包并按照以下说明操作:

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

如果你有.gz你可以使用 - >

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

然后:

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

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

您可以阅读here

答案 5 :(得分:3)

sudo apt-get install python3-dev
sudo apt-get install libmysqlclient-dev
sudo apt-get install zlib1g-dev
sudo pip3 install mysqlclient

对我有用!

答案 6 :(得分:2)

目前Ubuntu 15.10似乎有一个但是有python3和pip3。

详见this article

问题是pip3安装到python3.5而python3实际上运行的是python3.4 :(

在通过更新提供正确的解决方案之前,您可以执行以下操作之一:

运行

python3 -m pip install pymysql

而不是

pip3 install pymysql

(或任何其他包裹)

现在

import pymysql

应该在python3和idle3中工作。

或者,如果您明确需要3.5,则可以使用显式python3.5而不是python3。但idle3仍将指向3.4 ......

答案 7 :(得分:1)

mysqlclient是MySQLdb的一个分支,可以作为Python 3.4支持的替代品。如果您在Windows上构建它时遇到问题,可以从Christoph Gohlke's Unofficial Windows Binaries for Python Extension Packages

下载

答案 8 :(得分:1)

或者,您可以使用mysqlclientoursql。对于 oursql ,使用 oursql py3k系列作为我的链接指向。

答案 9 :(得分:0)

也许你可以使用一种解决方法并尝试以下方法:

import datetime
#import mysql
import MySQLdb
conn = MySQLdb.connect(host = '127.0.0.1',user = 'someUser', passwd = 'foobar',db = 'foobardb')
cursor = conn.cursor()

答案 10 :(得分:0)

for fedora和python3使用:dnf install mysql-connector-python3