我已经安装了 Python版本 3.4.0 ,我想用MySQL数据库做一个项目。我下载并尝试安装 MySQLdb ,但这个版本的Python并没有成功。任何建议我如何解决这个问题并正确安装?
答案 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
如果要使用池,请确保您的数据库有足够的连接可用 因为默认设置可能不够。
答案 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)
或者,您可以使用mysqlclient或oursql。对于 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