我现在干净安装了Django v1.11.10.当我运行python manage.py runserver时一切正常.但是当我尝试连接到Postgres数据库时,我安装了包pip install psycopg2,修改了DATABASES varibale,并在运行runserver命令后失败并出现Illegal指令错误:
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服务器.
解决方法:
psycopg2部分用C语言编写,需要编译.当您安装软件包时,通常会有一个预编译的二进制轮可供下载.
出于某种原因,预编译的psycopg2模块包含cpu无法识别的指令(可能是因为您的处理器太旧).您可以通过自己编译模块来解决此问题,这将确保代码在您的cpu上运行:
$pip install --no-binary psycopg2 psycopg2
–no-binary psycopg2是一个单独的选项,因此您必须指定两次包名.您也可以在requirements.txt中包含这个:
psycopg2==a.b.c --no-binary psycopg2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。