当前位置: 首页 > 面试题库 >

非法指令:运行Django时为4

司马晋
2023-03-14
问题内容

我现在进行了Django v1.11.10的全新安装。当我运行时,python manage.py runserver一切正常。但是当我尝试连接到Postgres数据库时,我安装了package pip install psycopg2,修改了DATABASESvaribale,并在运行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': '',
    }
}

错误是相同的,如果我设置NAMEUSER不正确或者即使我关掉Postgres.app服务器。就像Django没有看到Postgres。但是有了phpPgAdmin我我就可以连接到Postgres服务器了。


问题答案:

psycopg2是用C编写的,需要进行编译。当您pip install打包时,通常会有一个预编译的二进制车轮可供下载

由于某种原因,预编译psycopg2模块包含您的CPU无法识别的指令(可能是因为您的处理器太旧了)。您可以通过自己编译模块来解决此问题,这将确保代码在您的CPU上正常工作:

$ pip install --no-binary psycopg2 psycopg2

--no-binary psycopg2是一个单独的选项,因此您必须指定两次包名称。您也可以将其包括在内requirements.txt

psycopg2==a.b.c    --no-binary psycopg2


 类似资料:
  • 问题内容: 我创建了一个新的虚拟环境: 并安装了tensorflow: 给我 请帮助我了解发生了什么以及如何解决。谢谢。 CPU信息: 用gdb获得的Stacktrace: 问题答案: 我会使用旧版本。看起来您的CPU不支持AVX指令。 从发布页面报价 您至少有两个选择: 使用tensorflow 1.5或更早版本 从源代码构建 关于差异的担心,您会错过新功能,但是大多数基本功能和文档并没有什么不

  • 我在pip上也有类似的问题,用“python3-m”修复了这个问题,但现在在安装Django之后,我想做一个新项目。 当我尝试运行“django admin startproject…”我得到“bash:django-admin:command-not-found”。 我不知道我是否应该提到它,但是,这是在一个虚拟电视。 python3-m pip冻结:Django==3.0.6 回声$PATH:

  • python版本:3.7.4 django版本:3.2.19 mysqlclient版本:1.4.6 这是我的项目目录 这是我的settings.py里有关数据库的设置 在pycharm终端运行指令“python manage.py makemigrations”正常,但是运行指令“python manage.py migrate”后报错“MySQLdb._exceptions.Operation

  • 无论何时运行docker构建,我都会得到: “msbuild”不被识别为内部或外部命令,可操作程序或批处理文件。并且“nuget.exe”不被识别为内部或外部命令,可操作程序或批处理文件。 但是,当我从CMD运行msbuild或nuget恢复时,它自己可以正常工作。我已经添加了系统变量/路径的路径

  • 问题内容: 这是简单的go应用程序。如果运行以下代码,则会出现“运行:无法运行非主程序包”错误。 要解决此问题,我只需要将该包命名为即可。但是我不明白为什么我需要这样做。我应该能够随心所欲地命名包裹。 另一个问题,我知道主要功能是程序的入口点,您需要它。否则它将无法正常工作。但是我看到一些没有主要功能的代码仍然可以使用。 单击此链接,页面底部的示例未使用包main和main函数,它仍然有效。只是好