【发布时间】:2022-10-25 17:26:53
【问题描述】:
我在 M1 Mac 上运行 django 时遇到问题。每当我尝试运行服务器或进行迁移时,我都会收到 (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e') 错误。
我的终端正在使用 Rosetta 打开,我正在使用 VSCode ide。
【问题讨论】:
-
您是如何安装 Python 的,您使用的是什么版本?
我在 M1 Mac 上运行 django 时遇到问题。每当我尝试运行服务器或进行迁移时,我都会收到 (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e') 错误。
我的终端正在使用 Rosetta 打开,我正在使用 VSCode ide。
【问题讨论】:
您正在运行的 django 版本可能适用于上一代 mac,但 M1 和 M2 具有不同的硬件,这就是您使用的版本无法正常工作的原因。
你是如何在 M1 上安装 django 的?你有遵循的指南吗? Here is one link 我发现这很简单。
如果您在按照说明操作时遇到任何问题,请随时询问!
【讨论】:
你的问题有点缺乏细节。不过我可以告诉你几件事。首先,这可能不是 django 的问题,而更多的是库的问题。 Django 是用纯 python 编写的,所以它应该与架构无关,这意味着它不应该抛出这样的错误。确保您可以使用“python --version”从命令行运行 python。它应该只是为您提供已安装的 python 版本。如果您收到相同的错误,则说明您安装了错误的 python 版本。如果您没有收到任何错误,您可能已经安装了一些包含为 x86 架构编译的代码的包。您必须弄清楚是哪个包,删除它,然后尝试为您的体系结构安装正确的包。
因为你没有说你是如何运行 django 的,所以它也可能是 python 或其库之外的东西。例如,如果您尝试运行某种服务器架构,而不是运行开发环境,那么该软件也可能是该架构的错误版本。
但是,如果您想要更好的答案,则需要提供更多信息。
【讨论】:
所以我跑了pipenv install psycopg2,然后再次尝试python3 manage.py runserver,它编译没有错误。
【讨论】: