我正在研究基于Django 1.7和Python 3.4的项目。但是,我在使用pip3安装MySQL / Connector Python时遇到了问题。
根据this document,MySQL / Connector Python支持Python 3.我曾经使用命令pip install MySQL-python
在Python中安装MySQL-python。
This download page仅提供.deb文件以便在Ubuntu上安装(顺便说一句,安装也有conflict problems)
我尝试安装:
pip3 install mysql-connector-python --allow-external mysql-connector-python
没有错误消息。但是当我运行Django应用程序时,我收到以下错误消息:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
问题: 那么,如何使用pip3将MySQL / Connector Python安装到虚拟环境中?或者是否应该将其安装到系统中而不是虚拟环境中?
答案 0 :(得分:16)
如果您阅读the documentation,您会发现the native MySQLdb driver不支持Python 3.您有两种选择:
mysqldb fork
有一个支持Python 3的分支。阅读its Github repo以了解如何安装系统。对于Ubuntu,请apt-get install python-mysqldb
MySQL连接器
像使用pip install mysql-connector-python --allow-external mysql-connector-python
一样从venv安装。然后阅读their documentation for Django并修改您的settings.py
文件,使其像:
DATABASES = {
'default': {
'NAME': 'user_data',
'ENGINE': 'mysql.connector.django',
'USER': 'mysql_user',
'PASSWORD': 'priv4te',
'OPTIONS': {
'autocommit': True,
},
}
}
注意连接器值mysql.connector.django
: - )
答案 1 :(得分:4)
pip安装的mysql-connector版本不适用于Django 1.8。 github上有一个固定版本。从那里安装的命令是
pip install --allow-all-external git+git://github.com/multiplay/mysql-connector-python
那个适用于Django 1.8。