我使用的是Python 2.5.4版本,安装MySQL 5.0版本和Django。Django和Python配合得很好,但MySQL不行。我在Windows Vista中使用它。
如果你在Vista上运行,你可能想看看Bitnami Django堆栈。它是Apache, Python, MySQL等的一体化堆栈,与Bitrock跨平台安装程序打包,使其非常容易入门。它可以在Windows、Mac和Linux上运行。哦,是完全免费的:)
您需要使用以下命令之一。哪一种取决于你拥有和使用的操作系统和软件。
安装mysql-python(混合操作系统) PIP install mysql-python (mix os/ python 2) PIP安装mysqlclient(混合操作系统/ python 3) 安装python-mysqldb (Linux Ubuntu…) cd /usr/ports/databases/py-MySQLdb && make install clean (FreeBSD) 安装MySQL-python (Linux Fedora, CentOS…)
安装mysql-python (Windows)
感谢derevo,但我认为还有另一种好方法:
下载并安装ActivePython 打开命令提示符 输入pypm install mysql-python 请阅读此包的具体说明。
我认为pypm比easy_install更强大、更可靠。
...记住python3.x没有MySQLdb
(我知道问题是关于python2的。X但是谷歌对这篇文章的评价相当高)
编辑:正如评论中所述,MySQLdb的分支增加了对Python 3的支持:github.com/PyMySQL/mysqlclient-python
使用cd转到您的项目目录。 Source /bin/activate(激活你的环境)如果之前没有的话)。 执行命令easy_install MySQL-python
注意,这没有针对python 3.x进行测试
在CMD
pip install wheel
pip install pymysql
在settings.py
import pymysql
pymysql.install_as_MySQLdb()
这对我很有效
我已经尝试了上面的方法,但仍然没有名为'MySQLdb'的模块,最后,我成功了
easy_install mysql-python
我的环境是unbuntu 14.04
我在窗户下遇到了同样的情况,并寻找解决方案。
参见这篇文章安装mysql-python (Windows)。
它指出安装这样的pip环境是困难的,需要许多其他依赖项。
但我终于知道,如果我们使用mysqlclient版本低于1.3.4,它不再需要这些要求,所以尝试:
pip install mysqlclient==1.3.4
pip install PyMySQL
然后将这两行添加到Project/Project/init.py中
import pymysql
pymysql.install_as_MySQLdb()
适用于WIN和python 3.3+
如果你正在使用SQLAlchemy,错误在/site-packages/ SQLAlchemy /dialect /mysql/mysqldb.py:
from ...connectors.mysqldb import (
MySQLDBExecutionContext,
MySQLDBCompiler,
MySQLDBIdentifierPreparer,
MySQLDBConnector
)
因此,您可能错过了SQLAlchemy的mysqldb连接器,解决方案是在安装mysql-python模块后重新安装SQLAlchemy。
如果pip install mysqlclient产生错误,而你使用的是Ubuntu,请尝试:
sudo apt-get install -y python-dev libmysqlclient-dev && sudo pip install mysqlclient
Windows:
pip install mysqlclient pymysql
然后:
import pymysql
pymysql.install_as_MySQLdb()
python 3 Ubuntu
sudo apt-get install -y python3-mysqldb
适用于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>
这意味着数据库已正确连接。
pip install --user mysqlclient
以上对我来说就像魅力一样。实际上,我从sqlalchemy中得到了错误。 环境信息:
Python: 3.6, Ubuntu: 16.04,conda 4.6.8
我个人建议使用pymysql,而不是使用真正的MySQL连接器,后者为您提供了一个独立于平台的接口,并且可以通过pip安装。
您可以像这样编辑SQLAlchemy URL模式: mysql + pymysql: / /用户名:passwd@host /数据库
对于Python 3.6+
sudo apt-get install libmysqlclient-dev
pip3 install mysqlclient
成功了
在我的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
最后
pip install mysqlclient
对于来到本页试图找到sqlalchemy解决方案的任何人,您所需要做的就是:
pip install PyMySQL
调整你的连接字符串以使用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.backends.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的情况下
Python 3.8
sudo apt-get install libmysqlclient-dev
sudo apt-get install -y python3-mysqldb
pip3 install pymysql
settings.py
import pymysql
pymysql.install_as_MySQLdb()
当我运行命令apt-get install python-mysqldb时,我仍然遇到下面的错误消息
安装mysqldb python接口时未找到Mysql_config
因此,我首先必须运行下面的命令
sudo apt-get install libmariadbclient-dev
如果您使用MySQL而不是MariaDB,请运行以下命令
然后运行
apt-get install python-mysqldb
然后现在跑
pip install mysqlclient
推荐文章
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 没有名为'django.core.urlresolvers'的模块
- 蟒蛇导出环境文件
- Django - makemigrations -未检测到任何更改
- SQLAlchemy:引擎、连接和会话差异
- 在Python Pandas中删除多个列中的所有重复行
- 更改pandas DataFrame中的特定列名
- 将Pandas多索引转换为列
- 熊猫在每组中获得最高的n个记录
- 熊猫数据帧得到每组的第一行