[英]Python3 + MySql: Error loading MySQLdb module: No module named 'MySQLdb'
我是 Python 新手,正在尝试设置一个 Django 项目以使用 MySql。 我已经通读了文档以及关于该主题的其他一些 StackOverflow 帖子,但我仍然无法让它工作。
当我尝试在 Django 中运行迁移时,出现以下错误:
Error loading MySQLdb module: No module named 'MySQLdb'
我已经安装了推荐的MySql Python 连接器 (2.0.1),选择了 Ubuntu(因为我使用的是 Mint Linux)。 它安装正确。 我仍然收到错误。 我不需要将此库添加到项目或任何东西中,对吗? 看起来python应该知道这一点并成功运行。 我能做什么? 谢谢。
编辑:我忘了说:我正在运行 Python 3.4 - 许多典型的解决方案仍在使用 2.7,所以它们不起作用,我尝试过的所有 3.0 解决方案都没有成功。
在 Ubuntu Server 16.04 上,现有的答案都不适合我,所以我跑了:
sudo apt-get install libmysqlclient-dev
sudo -H pip3 install mysqlclient
第一个命令为我获取第二个命令所需的 mysql 配置。
pip install mysqlclient
对我有用 python3.5
我需要在 settings.py 中查看您的 DATABASES 配置,但看起来它正在尝试加载 MySQLDB 而不是您安装的 Mysql Python 连接器。 数据库应如下所示:
DATABASES = {
'default': {
'NAME': 'mydatabase',
'ENGINE': 'mysql.connector.django',
'USER': 'myuser',
'PASSWORD': 'secretpassword',
'OPTIONS': {
'autocommit': True,
},
}
}
请注意 ENGINE 部分...它告诉 Django 使用 mysql 连接器而不是 MySQLDB...
此处提供更多信息: http : //bunwich.blogspot.com/2014/02/finally-mysql-connector-that-works-with.html http://dev.mysql.com/doc/connector-python/en/连接器-python-django-backend.html
如果您希望使用 South:
www.pythonanywhere.com/wiki/UsingMySQL
您可能需要注意 Oracle 连接器是 GPL,使用该代码可能存在许可问题。 看这里:
groups.google.com/forum/#!topic/django-developers/8r_RVmUe5ys
Django 1.7 文档建议使用 mysqlclient 驱动程序...
docs.djangoproject.com/en/1.7/ref/databases/--参见Mysql DB API Drivers部分
该客户端的 pypi.python.org/pypi/mysqlclient...
-斯科特
如果您可以安装 pymysql——这对我来说在 Python 3.4 上运行良好——然后将这些行添加到 Django 中的 manage.py 文件中:
try:
import pymysql
pymysql.install_as_MySQLdb()
except ImportError:
pass
这将使 pymysql 功能类似于 MySQLdb 并为我工作。
如果您像我一样,正在使用 Linux 安装,并且在大多数情况下 Linux 仍然需要 Python 2.7。 这意味着
pip install mysqlclient
将为 2.7 安装 MySQL 客户端,它是从 Python 3 分割出来的。要安装 3.x,你需要使用
pip3 install mysqlclient
我不必安装任何软件包,但mysql-common
已经安装(Raspbian 安装),所以你的里程可能会有所不同
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.