Django 1.8:抛出 ImportError:没有名为“MySQLdb”的模块
Posted
技术标签:
【中文标题】Django 1.8:抛出 ImportError:没有名为“MySQLdb”的模块【英文标题】:Django 1.8 : Throwing ImportError: No module named 'MySQLdb' 【发布时间】:2016-05-11 04:23:53 【问题描述】:我正在尝试使用 python 3.4.3 运行我的 Django 服务器,并且已经为此苦恼了一段时间。到目前为止,我尝试过的命令及其错误消息是:
pip3.4 install mysqldb (No matching distribution found for mysqldb)
pip3.4 install mysql-python (ImportError: No module named 'ConfigParser')
pip3.4 install configparser
pip install ConfigParser
File "/tmp/pip-build-mcfc7tj3/ConfigParser/configparser.py", line 397
_KEYCRE = re.compile(ur"%\(([^)]+)\)s")
^
SyntaxError: invalid syntax
pip3.4 install mysqlclient
File "/tmp/pip-build-s41j0x_s/mysqlclient/setup_posix.py", line 26, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
OSError: mysql_config not found
sudo yum install python3-dev libmysqlclient-dev
No package python3-dev available.
No package libmysqlclient-dev available.
但仍然无法安装。我应该从这里做什么?
注意事项:
运行python3.4 manage.py runserver throw
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
【问题讨论】:
你试过python3.4 manage.py runserver了吗? Python 3.4 不支持 MySQLdb - 您需要使用 alternative driver @BurhanKhalid 在命令的下方,您可以看到 OP 尝试安装mysqlclient
这应该适用于 Python 3。问题是他们没有为 Python 3 安装所需的开发库和mysql。我对 CentOS 不熟悉,所以不知道正确的包名是什么。
@Alasdair 我完全没看到……你说得对,可能是 centos 的问题。
谢谢!顺便说一句,我使用的是 CentOS 7,因此是 yum 命令
【参考方案1】:
Python 3.4 不支持 MySQLdb - 您需要使用 alternative driver
python-dev
和mysql-dev
是apt包系统的包名;由 debian、ubuntu 及其克隆/变体使用。
在 CentOS 上,您需要与 rpm 等效的软件包。
您应该为 MySQL 开发标头安装 mysql-devel
;你还需要一个开发工具链——最简单的安装方法是发出sudo yum groupinstall "Development Tools"
。
现在,如果您也使用 yum 安装了 Python,则需要安装 python-devel
。
【讨论】:
你好,我仍然从上面得到同样的错误。 我通过编辑manage.py从***.com/questions/7224807/…得到了答案以上是关于Django 1.8:抛出 ImportError:没有名为“MySQLdb”的模块的主要内容,如果未能解决你的问题,请参考以下文章
Django 1.8 和 Rest Framework 3.7 的“导入错误:没有名为 urls 的模块”
TypeError:对象在 DJango 1.8 Python 3.4 中不是 JSON 可序列化的
IPython Notebook 抛出 ImportError – IPython 不会
PySpark 抛出 ImportError,但 Module 确实存在并且运行良好