除了上述之外,我还使用 virtualenv 和 virtualenvwrapper。 MariaDB 服务器 10.1.17 是通过 dnf install
我正在学习第一个 Django 教程。我的运行服务器命令:
(djTut3)$ python manage.py runserver
运行正常,但有关于迁移的警告。
在第 2 部分中,此处:https://docs.djangoproject.com/en/1.10/intro/tutorial02/
我跑了:
(djTut3)$ python manage.py migrate
按照指示,得到以下错误:
ImportError: No module named 'MySQLdb'
During handling of the above exception, another exception occurred:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
我做了很多搜索,并尝试了以下内容(除其他外),大部分来自SO:
===
$ sudo dnf install MySQL-python
<No error>
$ python3 manage.py migrate
<Same errors as before>
$ sudo dnf install mariadb-devel
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade)
$ sudo dnf install mariadb-devel --best --allowerasing
<No error>
$ python3 manage.py migrate
<Same errors as before>
$ pip3 install mysql-python
ImportError: No module named 'ConfigParser'
$ pip3 install mysql-connector
<No error>
$ pip3 install mysql-client
_mysql.c:40:20: fatal error: Python.h: No such file or directory
#include "Python.h"
compilation terminated.
error: command 'gcc' failed with exit status 1
$sudo dnf install python-devel mysql-devel
<already installed>
===
现在我还是搞不懂
(djTut3)$ python manage.py migrate
上类,并且
(djTut3)$ python manage.py runserver
给出与迁移命令相同的错误。
我的settings.py包括:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djTut3',
'USER': os.environ['DB_USERNAME'],
'PASSWORD': os.environ['DB_PASSWORD'],
'HOST': '127.0.0.1',
'PORT': '',
}
}
任何人都可以提供一些帮助吗?
提前非常感谢您的回复。
最佳答案
这就是为什么您应该通过 pip
安装 Python 包,而不是通过操作系统包管理器。 MySQLdb 不适用于 Python 3,正如您通过 pip3
尝试时的错误所示。
您在安装 mysql-client 时遇到问题的原因可能是因为您需要 python-devel 软件包,或者任何 Fedora 等效软件包;这将是一个 dnf 安装。
但是,由于您确实成功使用了 mysql-connector,因此您可以使用它;您需要配置 Django 才能使用它,如 that library's documentation 所示,将 'django.db.backends.mysql'
替换为 'mysql.connector.django'
。
关于mysql - 无法让 MySQL/MariaDB 在 Fedora 24 上与 Django 1.10.1 和 Python 3.5 配合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39533221/