Python 没有名为MySQLdb的模块
我正在使用Python版本2.5.4,并安装MySQL版本5.0和Django。Django可以很好地使用Python,但不能使用MySQL。我在Windows Vista中使用它。Python 没有名为MySQLdb的模块,python,django,python-2.x,Python,Django,Python 2.x,我正在使用Python版本2.5.4,并安装MySQL版本5.0和Django。Django可以很好地使用Python,但不能使用MySQL。我在Windows Vista中使用它。mysqldb是一个Python模块,它没有预装或与Django一起使用。您可以下载mysqldb如果您在Vista上运行,您可能需要查看它是一个由Apache、Python、MySQL等组成的多功能堆栈,它与跨平台安装程序打包在一起,非常容易入门。它在Windows、Mac和Linux上运行。哦,而且是完全免费的:
mysqldb
是一个Python模块,它没有预装或与Django一起使用。您可以下载mysqldb
如果您在Vista上运行,您可能需要查看它是一个由Apache、Python、MySQL等组成的多功能堆栈,它与跨平台安装程序打包在一起,非常容易入门。它在Windows、Mac和Linux上运行。哦,而且是完全免费的:)您需要使用以下命令之一。哪一个取决于您拥有和使用的操作系统和软件
sudo apt-get install python-mysqldb
多亏了德雷沃,但我认为还有另一个好方法:
pypm安装mysql-python
我认为
pypm
比easy\u install
更强大、更可靠。请记住,python3.x没有MySQLdb
(我知道问题是关于python2.x的,但谷歌对这篇文章的评价相当高)
编辑:如评论中所述,MySQLdb的fork添加了python3支持:
- 使用
转到项目目录cd
- source/bin/activate(如果之前没有激活您的环境,则激活您的环境)
- 运行命令
easy\u安装MySQL python
- 试试这个
pip install MySQL-python
注意,这不是针对Python3.x测试的
在CMD中
pip install wheel
pip install pymysql
在settings.py中
import pymysql
pymysql.install_as_MySQLdb()
它与我一起工作我尝试了上述方法,但仍然没有名为“MySQLdb”的模块,最后,我成功地使用了
easy_install mysql-python
my env是unbuntu 14.04如果您的python版本是
3.5
,请执行pip安装mysqlclient
,其他事情对我不起作用我在windows下遇到同样的情况,并搜索解决方案
看到这个帖子
它指出,安装这样的pip环境很困难,需要许多其他依赖项
但我终于知道,如果我们使用mysqlclient
并将版本降低到1.3.4
,它就不再需要这些要求了,所以请尝试:
pip install mysqlclient==1.3.4
在OSX上,这些命令对我有效
brew install mysql-connector-c
pip install MySQL-python
然后将这两行添加到Project/Project/init.py
import pymysql
pymysql.install_as_MySQLdb()
如果您使用的是SQLAlchemy,并且错误出现在
/site packages/SQLAlchemy/dialogs/mysql/mysqldb.py
中,则可在WIN和python 3.3+上运行:
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
然后:
对于Python3 Ubuntu
sudo apt-get install -y python3-mysqldb
对于Python 3+版本 将mysql连接器安装为:
pip3 install mysql-connector
示例Python数据库连接代码:
import mysql.connector
db_connection = mysql.connector.connect(
host="localhost",
user="root",
passwd=""
)
print(db_connection)
> <mysql.connector.connection.MySQLConnection object at > 0x000002338A4C6B00>
输出:
import mysql.connector
db_connection = mysql.connector.connect(
host="localhost",
user="root",
passwd=""
)
print(db_connection)
> <mysql.connector.connection.MySQLConnection object at > 0x000002338A4C6B00>
>0x000002338A4C6B00>
这意味着,数据库已正确连接
pip install --user mysqlclient
以上对我来说就像魅力对我一样。我实际上是从sqlalchemy中犯了错误。
环境资料:
Python:3.6,Ubuntu:16.04,conda 4.6.8Win10/Python27
这对我很有用:
easy_install mysql-python
所有其他“pip安装…”都因依赖性错误而失败我个人建议使用
pymysql
而不是使用正版MySQL连接器,它为您提供了独立于平台的接口,可以通过pip
安装
您可以像这样编辑SQLAlchemy URL模式:
mysql+pymysql://username:passwd@主机/数据库
对于Python3.6+sudo apt get install libmysqlclient dev
和pip3 install mysqlclient
的技巧以上这些都不适用于我通过docker镜像在Ubuntu 18.04上进行的全新安装
以下内容为我解决了这个问题:
apt get install holland python 3 mysqldb
在运行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
在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://
python3
确保进口订单:
#BAD
import MySQLdb # <------ NOT here
import pymysql
pymysql.install_as_MySQLdb()
#GOOD
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb # <------- HERE!
#坏
import MySQLdb#在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 connector中不断返回,但8.0.23没有导入,因此我恢复到该版本,错误消失了…这是为了防止您希望继续使用mysql.connector.python尝试安装mysql-python-1.2.1我收到消息ImportError:No m名为setuptools的模块试图安装setuptools,但我发现zlib不可用。它不应该与python捆绑在一起吗?下载mo后