我使用的是Python 2.5.4版本,安装MySQL 5.0版本和Django。Django和Python配合得很好,但MySQL不行。我在Windows Vista中使用它。
mysqldb是Python的一个模块,它不是预先安装的,也不是Django自带的。你可以下载mysqldb 在这里。
mysqldb
如果你在Vista上运行,你可能想要检查Bitnami Django堆栈。,它是Apache, Python, MySQL等的一体化堆栈,打包了Bitrock跨平台安装程序,使它非常容易开始。它可以在Windows、Mac和Linux上运行。哦,是完全免费的:)
您需要使用以下命令之一。哪一种取决于你拥有和使用的操作系统和软件。
对于Windows,请参见这个答案:安装mysql-python (Windows)
Ubuntu:
sudo apt-get install python-mysqldb
感谢derevo,但我认为还有另一种好方法:
pypm install mysql-python
我认为pypm比easy_install更强大、更可靠。
pypm
easy_install
...并且记住有python3.x没有MySQLdb
(我知道问题是关于python2的。X但是谷歌对这篇文章的评价相当高)
编辑:正如评论中所述,MySQLdb的fork增加了对Python 3的支持:github.com/PyMySQL/mysqlclient-python < / > < / p >
cd
easy_install MySQL-python
试试这个。
pip install MySQL-python
在CMD
pip install wheel pip install pymysql
在settings.py
import pymysql pymysql.install_as_MySQLdb()
这对我很有效
我已经尝试了上面的方法,但仍然没有名为'MySQLdb'的模块,最后,我成功了
easy_install mysql-python
我的环境是unbuntu 14.04
如果你的python版本是3.5,做一个pip install mysqlclient,其他的事情对我不起作用
3.5
pip install mysqlclient
我在窗户下遇到了同样的情况,并寻找解决方案。
看到这篇文章安装mysql-python (Windows)。
它指出安装这样的pip环境是困难的,需要许多其他依赖项。
但我终于知道,如果我们使用mysqlclient的版本下降到1.3.4,它不再需要这些要求,所以尝试:
mysqlclient
1.3.4
pip install mysqlclient==1.3.4
在OSX上,这些命令对我有用
brew install mysql-connector-c pip install MySQL-python
pip install PyMySQL
然后将这两行添加到Project/Project/初始化.py中
适用于WIN和python 3.3+
如果你正在使用SQLAlchemy并且错误在/site-packages/sqlalchemy/dialects/mysql/mysqldb.py中:
/site-packages/sqlalchemy/dialects/mysql/mysqldb.py
from ...connectors.mysqldb import ( MySQLDBExecutionContext, MySQLDBCompiler, MySQLDBIdentifierPreparer, MySQLDBConnector )
所以你可能错过了SQLAlchemy的mysqldb连接器,解决方案是在安装mysql-python模块后重新安装sqlalchemy。
SQLAlchemy
mysql-python
如果pip install mysqlclient产生错误,而你使用的是Ubuntu,请尝试:
sudo apt-get install -y python-dev libmysqlclient-dev && sudo pip install mysqlclient
Windows:
pip install mysqlclient pymysql
然后:
python 3 Ubuntu
sudo apt-get install -y python3-mysqldb
对于Python 3 +版本
将mysql-connector安装为:
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>
这意味着数据库已正确连接。
pip install --user mysqlclient
以上的工作对我来说就像魅力对我来说一样。实际上,我从sqlalchemy中得到了错误。 环境信息:
Win10 / Python27
所有其他'pip install…'失败,存在依赖错误
我个人建议使用pymysql而不是使用真正的MySQL连接器,它为你提供了一个平台独立的接口,可以通过pip安装。
pymysql
pip
mysql+pymysql://username:passwd@host/database
对于Python 3.6+
sudo apt-get install libmysqlclient-dev pip3 install mysqlclient
成功了
在我通过docker镜像重新安装Ubuntu 18.04时,上述方法都不适用。
下面为我解决了这个问题:
apt-get install holland python3-mysqldb
在我的mac上运行Catalina v10.15.2,我有以下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
在Debian Buster上,以下解决方案适用于我使用python 3.7:
sudo apt-get install libmysqlclient-dev sudo apt-get install libssl-dev pip install mysqlclient
我在ubuntu (linux),对我有用的是
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
最后
对于任何来到本页试图找到sqlalchemy的解决方案的人,你所需要做的就是:
sqlalchemy
并调整你的连接字符串以使用PyMySQL,从mysql://到mysql+pymysql://。
mysql://
mysql+pymysql://
Python 3
确定进口顺序:
#BAD import MySQLdb # <------ NOT here import pymysql pymysql.install_as_MySQLdb() #GOOD import pymysql pymysql.install_as_MySQLdb() import MySQLdb # <------- HERE!
在mac上的mysql.connector.python 8.0.24版本中遇到过这个问题(如果代码基相同,那么在windows中也应该会出现这个问题)。这个文件在第51行导入“from django.db.backend .mysql.base import DatabaseWrapper as 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的情况下
sudo apt-get install libmysqlclient-dev sudo apt-get install -y python3-mysqldb
pip3 install pymysql
当我运行命令apt-get install python-mysqldb时,我仍然遇到下面的错误消息
安装mysqldb python接口时未找到Mysql_config
因此,我首先必须运行下面的命令
sudo apt-get install libmariadbclient-dev
如果您使用MySQL而不是MariaDB,请运行以下命令
然后运行
apt-get install python-mysqldb
然后现在跑
对于CentOS 8和Python3
CentOS 8
Python3
$ sudo dnf install python3-mysqlclient -y
Windows 7 / Python 3.6.5适合我:
Conda install -y mysqlclient