You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apple M1芯片环境下Django执行runserver后进程突然被终止问题求助

解决M1芯片上Django项目启动被SIGKILL终止的问题

针对你遇到的情况——更新依赖后初期正常,后续启动项目被SIGKILL(退出码137)终止,即使内存还有剩余,我整理了几个在M1 Mac上常见的排查和解决思路:

1. 重建虚拟环境,排除依赖残留问题

M1的arm64架构对依赖的兼容性要求比较严格,有时候旧虚拟环境里可能混有x86兼容层安装的库,或者依赖缓存有问题。建议完全重建虚拟环境:

  • 先删除现有虚拟环境:rm -rf .venv
  • 重新创建arm64原生的虚拟环境:python3 -m venv .venv
  • 激活虚拟环境:source .venv/bin/activate
  • 重新安装所有依赖:pip install -r requirements.txt

2. 升级兼容性存疑的依赖版本

你的requirements里有些库的版本比较老旧,可能对M1的支持不完善:

  • Django 3.1.1:这个版本发布于M1推出之前,建议升级到3.2.x系列(LTS版本,对arm架构有更好的适配),执行命令:pip install django==3.2.25
  • psycopg2-binary 2.8.6:早期版本在M1上可能存在编译或运行问题,尝试升级到兼容arm64的版本:pip install psycopg2-binary==2.9.9
  • django-summernote 0.8.11.6:这个版本也比较老,建议升级到最新稳定版:pip install django-summernote==0.8.20.0

3. 排查单个第三方库的问题

有时候是某个特定库在启动时占用异常内存或者触发架构兼容问题,可以逐个禁用排查:

  • 先在settings.py中注释掉django-debug-toolbar的相关配置(包括INSTALLED_APPS、MIDDLEWARE和DEBUG_TOOLBAR_CONFIG),启动项目看是否还会被kill
  • 如果没问题,再尝试禁用django-summernote,以此类推,找到导致问题的具体库,再针对性升级或替换

4. 检查启动时的内存峰值与系统限制

虽然你看到剩余内存有5GB,但Django启动时可能会瞬间占用大量内存(比如加载所有app、初始化数据库连接等),超过系统的某个隐性限制:

  • 启动项目时用htop实时监控内存变化,看看启动瞬间的内存占用峰值
  • 在PyCharm中,进入Run/Debug Configurations,给Python解释器添加内存参数,比如-Xmx4096m(设置最大堆内存为4GB),尝试缓解内存压力

5. 升级Python版本到稳定版

Python 3.9.1是比较早期的3.9版本,在M1上可能存在一些未修复的兼容性bug,建议升级到3.9.x的最新稳定版(比如3.9.18),或者直接升级到3.10/3.11版本(这些版本对arm64的支持更完善)

按上面的步骤逐步排查,应该能定位并解决问题。

内容的提问来源于stack exchange,提问作者roohix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 06:54:10