487

我正在使用 Python 2.5.4 版并安装 MySQL 5.0 版和 Django。Django 在 Python 上运行良好,但在 MySQL 上运行良好。我在 Windows Vista 中使用它。

4

30 回答 30

712

您需要使用以下命令之一。哪一个取决于您拥有和使用的操作系统和软件。

  1. easy_install mysql-python(混合操作系统)
  2. pip install mysql-python (mix os/python 2)
  3. pip install mysqlclient (mix os/python 3)
  4. apt-get install python-mysqldb (Linux Ubuntu, ...)
  5. cd /usr/ports/databases/py-MySQLdb && make install clean (FreeBSD)
  6. yum install MySQL-python (Linux Fedora, CentOS ...)

对于 Windows,请参阅此答案:安装 mysql-python (Windows)

于 2011-05-03T17:23:47.353 回答
169

...请记住,python3.x 没有 MySQLdb

(我知道问题是关于 python2.x 但谷歌对这篇文章的评价很高)


编辑:如评论中所述,有一个 MySQLdb 的分支添加了 Python 3 支持:github.com/PyMySQL/mysqlclient-python

于 2014-08-24T20:11:47.797 回答
92

如果你的 python 版本是3.5,做一个pip install mysqlclient,其他的东西对我不起作用

于 2016-07-11T15:31:02.330 回答
49

mysqldb是 Python 的一个模块,它没有预装或 Django。你可以mysqldb 在这里下载。

于 2009-01-18T09:25:58.687 回答
36

Ubuntu:

sudo apt-get install python-mysqldb
于 2011-05-14T02:17:49.367 回答
31

请注意,这未针对 python 3.x 进行测试

在 CMD 中

pip install wheel
pip install pymysql

在 settings.py

import pymysql
pymysql.install_as_MySQLdb()

它对我有用

于 2016-03-23T16:08:57.893 回答
22

对于 Windows:

pip install mysqlclient pymysql

然后:

import pymysql
pymysql.install_as_MySQLdb()

对于 python 3 Ubuntu

sudo apt-get install -y python3-mysqldb
于 2018-08-04T06:42:44.980 回答
22

我在ubuntu(linux),对我有用的是

sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

然后最后

pip install mysqlclient
于 2020-03-21T13:13:04.413 回答
18
pip install PyMySQL

然后将这两行添加到您的 Project/Project/ init .py

import pymysql
pymysql.install_as_MySQLdb()

适用于 WIN 和 python 3.3+

于 2017-02-16T21:42:09.750 回答
14

对于任何在尝试为 寻找解决方案时来到此页面的人sqlalchemy,您需要做的就是:

pip install PyMySQL

并调整您的连接字符串以使用 PyMySQL,从mysql://mysql+pymysql://.

于 2021-01-18T20:18:43.257 回答
13

尝试这个。

pip install MySQL-python
于 2015-06-28T21:01:10.017 回答
13

如果 pip install mysqlclient 产生错误并且您使用的是 Ubuntu,请尝试:

sudo apt-get install -y python-dev libmysqlclient-dev && sudo pip install mysqlclient
于 2017-12-25T14:30:37.833 回答
7

我在windows下遇到了同样的情况,寻找解决办法。

看到这篇文章Install mysql-python (Windows)

它指出安装这样的 pip 环境很困难,需要许多其他依赖项。

但我终于知道,如果我们使用mysqlclient低至 的版本1.3.4,它就不再需要那个要求了,所以试试:

pip install mysqlclient==1.3.4
于 2016-12-03T08:40:34.257 回答
6

我个人建议使用pymysql而不是使用正版 MySQL 连接器,它为您提供了一个独立于平台的接口,并且可以通过pip.

您可以像这样编辑 SQLAlchemy URL 架构: mysql+pymysql://username:passwd@host/database

于 2019-10-05T07:38:30.013 回答
6

对于 Python 3.6+

sudo apt-get install libmysqlclient-dev
pip3 install mysqlclient

成功了

于 2019-10-29T06:41:23.403 回答
6
pip install --user mysqlclient 

以上对我来说就像对我的魅力一样。我实际上是从 sqlalchemy 出错的。环境信息:

Python:3.6,Ubuntu:16.04,conda 4.6.8

于 2019-05-22T20:53:20.520 回答
6

蟒蛇 3.8

sudo apt-get install libmysqlclient-dev
sudo apt-get install -y python3-mysqldb
pip3 install pymysql

设置.py

import pymysql
pymysql.install_as_MySQLdb()
于 2021-06-20T13:26:46.693 回答
5
  • 使用 .转到您的项目目录cd
  • source/bin/activate (如果之前没有激活你的环境)。
  • 运行命令easy_install MySQL-python
于 2015-02-02T13:36:45.730 回答
4

如果您在 Vista 上运行,您可能需要查看Bitnami Django 堆栈。它是 Apache、Python、MySQL 等的多合一堆栈,与Bitrock跨平台安装程序打包在一起,使其非常容易上手。它可以在 Windows、Mac 和 Linux 上运行。哦,而且是完全免费的 :)

于 2009-01-18T12:18:07.327 回答
4

感谢 derevo,但我认为还有另一种好方法:

  1. 下载并安装ActivePython
  2. 打开命令提示符
  3. 类型pypm install mysql-python
  4. 阅读此软件包的特定说明。

我认为pypmeasy_install.

于 2012-10-04T11:38:40.607 回答
3

Python 3

Make sure the import order:

#BAD
import MySQLdb             # <------ NOT here
import pymysql
pymysql.install_as_MySQLdb()

#GOOD
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb              # <------- HERE!
于 2021-04-19T10:01:34.560 回答
3

对于Python 3+版本

安装mysql-connector为:

pip3 install mysql-connector 

示例 Python DB 连接代码:

import mysql.connector
db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd=""
)
print(db_connection)

输出:

> <mysql.connector.connection.MySQLConnection object at > 0x000002338A4C6B00>

这意味着,数据库已正确连接。

于 2019-05-15T15:06:15.270 回答
3

在 Debian Buster 上,以下解决方案适用于 python 3.7:

sudo apt-get install libmysqlclient-dev
sudo apt-get install libssl-dev
pip install mysqlclient
于 2020-02-21T21:27:44.667 回答
2

在 OSX 上,这些命令对我有用

brew install mysql-connector-c 
pip install MySQL-python
于 2017-01-06T18:59:54.823 回答
2

我已经尝试了上面的方法,但仍然没有名为'MySQLdb'的模块,最后,我成功了

easy_install mysql-python

我的环境是 unbuntu 14.04

于 2016-04-18T14:57:53.587 回答
2

如果您正在使用 SQLAlchemy 并且错误出现在/site-packages/sqlalchemy/dialects/mysql/mysqldb.py

from ...connectors.mysqldb import (
                        MySQLDBExecutionContext,
                        MySQLDBCompiler,
                        MySQLDBIdentifierPreparer,
                        MySQLDBConnector
                    )

因此您可能错过了 mysqldb 连接器,SQLAlchemy解决方案是在安装模块后重新安装sqlalchemy mysql-python

于 2017-04-24T06:16:01.800 回答
2

在通过 docker 映像全新安装的 Ubuntu 18.04 上,以上方法均不适用于我。

以下为我解决了它:

apt-get install holland python3-mysqldb

于 2019-11-12T19:09:12.847 回答
1

在我运行 Catalina v10.15.2 的 Mac 上,我遇到了以下 MySQLdb 版本冲突:

ImportError: this is MySQLdb version (1, 2, 5, 'final', 1), but _mysql is version (1, 4, 6, 'final', 0)

为了解决它,我做了以下事情:

pip uninstall MySQL-python
pip install MySQL-python
于 2019-12-18T00:07:11.833 回答
1

在 mac 上使用 mysql.connector.python 版本 8.0.24 遇到了这个问题(如果代码库相同,那么问题也应该发生在 Windows 中)。第 51 行的这个文件导入“从 django.db.backends.mysql.base 导入 DatabaseWrapper 作为 MySQLDatabaseWrapper”。导入的文件有以下代码 14-20(您收到的确切代码和错误是代码的一部分

try:
    import MySQLdb as Database
except ImportError as err:
    raise ImproperlyConfigured(
        'Error loading MySQLdb module.\n'
        'Did you install mysqlclient?'
    ) from err

错误在这里形成。不知道为什么这个导入在不同版本的 mysql 连接器中不断返回,但 8.0.23 没有导入,所以我恢复到那个版本并且错误消失了......这是你希望继续使用 mysql.connector 的情况。Python

于 2021-04-21T13:47:49.543 回答
0

Win10 / Python27 这对我有用:

easy_install mysql-python

所有其他“pip install ...”因依赖错误而失败

于 2019-07-10T17:16:44.870 回答