【发布时间】:2020-02-04 13:29:39
【问题描述】:
我的问题与error connecting mysql to django 的问题类似,但没有得到解答。
我正在使用 python 3.6.5、mysql server-5.7.29 和 Ubuntu 18.04 LTS。我正在尝试为我的 django 应用程序设置 mysql,但收到分段错误。
(env) monu@monu:~/Desktop/ShubhamProject/ShubhamProject$ python manage.py runserver
Segmentation fault (core dumped)
如果我使用默认的 sqlite3 数据库,服务器就会启动。
settings.py 中的数据库部分看起来像
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sports_website',
'USER': 'nonroot',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
}
}
使用以下软件包
asgiref==3.2.3
Django==3.0.3
django-crispy-forms==1.8.1
mysqlclient==1.4.6
pytz==2019.3
sqlparse==0.3.0
【问题讨论】:
-
这可能是由于 openssl 版本错误/不兼容造成的。我会为您的系统重新安装构建库,如文档所述here:
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential libssl-dev,然后重新安装 mysqlclient。 -
不幸的是,事实并非如此。我在安装 mysqlclient 之前和之后运行更新和升级,并通过运行建议的软件包列表来验证软件包是最新的。
-
尝试在您的 virtualenv 中打开一个 python shell,导入
MySQLdb并手动连接到您的数据库(参见here)。这至少会告诉我们这是否与 Django 或仅与 mysqlclient 有关。 -
尝试导入 MySQLdb 时出现分段错误