53

我已经安装了Python 3.4.0版,我想用 MySQL 数据库做一个项目。我下载并尝试安装MySQLdb,但这个版本的 Python 没有成功。

有什么建议可以解决这个问题并正确安装吗?

4

11 回答 11

76

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

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

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

另一种选择是简单地使用另一个数据库系统,如PostgreSQL

于 2014-04-29T22:08:54.403 回答
21

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

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

查看它的文档示例

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

于 2014-07-23T00:38:47.913 回答
9

安装点子:

apt-get install pip

要从 Python 访问 MySQL,请安装:

pip3 install mysqlclient
于 2015-11-29T03:14:01.480 回答
4

通过 Ubuntu 软件中心或 Synaptic 软件包管理器可以使用 Ubuntu 解决方案。这会将 Python 版本 3.4.0 连接到 MySQL。下载“ python3-mysql.connector ”版本1.1.6-1。

请注意,连接语法不使用MySQLdb ”。改为阅读:使用连接器/Python 连接到 MySQL

于 2015-06-01T20:45:47.200 回答
4
sudo apt-get install python3-dev
sudo apt-get install libmysqlclient-dev
sudo apt-get install zlib1g-dev
sudo pip3 install mysqlclient

这对我有用!

于 2017-12-13T22:45:11.887 回答
3

我通过这种方式解决了这个问题:从这里下载压缩包并按照以下说明进行操作:

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

你可以在这里阅读

于 2016-01-01T18:20:10.110 回答
2

目前看来,Ubuntu 15.10 有一个但是带有 python3 和 pip3。

本文所述

问题使 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 ...

于 2015-12-02T21:41:57.323 回答
1

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

于 2014-11-10T20:10:28.887 回答
1

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

于 2015-07-28T12:45:28.217 回答
0

也许您可以使用解决方法并尝试以下方法:

import datetime
#import mysql
import MySQLdb
conn = MySQLdb.connect(host = '127.0.0.1',user = 'someUser', passwd = 'foobar',db = 'foobardb')
cursor = conn.cursor()
于 2016-10-01T12:20:31.823 回答
0

对于 fedora 和 python3 使用:dnf install mysql-connector-python3

于 2018-03-09T00:59:03.947 回答