【问题标题】:Django 1.8 : Throwing ImportError: No module named 'MySQLdb'Django 1.8:抛出 ImportError:没有名为“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 命令

标签: python mysql django centos


【解决方案1】:

Python 3.4 不支持 MySQLdb - 您需要使用 alternative driver

python-devmysql-dev是apt包系统的包名;由 debian、ubuntu 及其克隆/变体使用。

在 CentOS 上,您需要与 rpm 等效的软件包。

您应该为 MySQL 开发标头安装 mysql-devel;你还需要一个开发工具链——最简单的安装方法是发出sudo yum groupinstall "Development Tools"

现在,如果您也使用 yum 安装了 Python,则需要安装 python-devel

【讨论】:

猜你喜欢
  • 2013-07-11
  • 2014-04-10
  • 2018-07-15
  • 2020-04-16
  • 1970-01-01
  • 2012-09-28
  • 2015-08-19
  • 2012-10-21
  • 1970-01-01
相关资源
最近更新 更多