【发布时间】:2018-07-20 11:24:47
【问题描述】:
我现在对 Django v1.11.10 进行了全新安装。当我运行python manage.py runserver 时,一切正常。但是当我尝试连接到 Postgres 数据库时,我安装包 pip install psycopg2,修改 DATABASES 变量并在运行 runserver 命令后失败并出现 Illegal instruction 错误:
Performing system checks...
System check identified no issues (0 silenced).
Illegal instruction: 4
这是什么?如何获取日志错误?我使用 Mac OS 10.11.6、PostgresApp(在 v9 和 v10 服务器上尝试检查错误源)。 Python 3.6.4(通过 virtualenv)。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydb',
'USER': 'sirjay',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '',
}
}
如果我将 NAME 或 USER 设置不正确,或者即使我关闭了 Postgres.app 服务器,错误也会相同。就像 Django 没有看到 Postgres。但是使用phpPgAdmin 我可以连接到 Postgres 服务器。
【问题讨论】:
-
你看了吗?
-
已添加
DATABASES -
我不明白,你能解释清楚吗?注意:如果我关闭 Postgres.app 服务器,错误是一样的。
-
单独使用
psycopg2module 是否仍会导致错误(应该)?如果是这样,请尝试卸载psycopg2并从源代码重新安装它,而不是使用二进制轮:pip install --no-binary psycopg2 psycopg2。 -
@sirjay:psycopg2 有一些部分是用 C 编写的,看起来你的 Mac 的 CPU 对于 PyPI 上的预编译二进制文件来说太旧了(非法指令)。自己编译将保证它可以在您的 CPU 上运行。
标签: python django postgresql psycopg2