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

Django GraphQL后端执行makemigrations遇magic版本不兼容错误求助

解决libmagic版本不兼容导致的magic.MagicException错误

方案一:升级本地file/libmagic到5.45+(推荐)

Mac系统自带的file版本普遍偏低,用Homebrew安装独立的最新版本:

  • 未安装Homebrew时先执行安装命令:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  • 安装最新版file:
    brew install file
    
  • 验证版本,确认输出为5.45及以上:
    file -v
    
  • 重新编译项目中的magic.mgc文件:
    1. 进入项目的magic文件目录:
      cd app_common/misc
      
    2. 用新安装的file命令编译(确保目录下存在原始magic文本文件):
      file -C -m magic
      
  • 重新执行makemigrations:
    python manage.py makemigrations
    

方案二:降级python-magic适配本地file版本

如果不想升级file,可将python-magic降级到与本地5.41兼容的版本:

  • 卸载当前python-magic:
    pip uninstall python-magic
    
  • 安装适配5.41的版本(经测试0.4.24版本兼容):
    pip install python-magic==0.4.24
    
  • 重新运行makemigrations验证问题是否解决。

方案三:替换兼容版本的magic.mgc

若项目需保留旧逻辑,可替换为适配file 5.45的magic.mgc:

  1. 获取file 5.45版本对应的magic文本文件(可从对应版本的file源码包中提取)
  2. 将文本文件复制到项目的app_common/misc目录
  3. 在该目录下用file 5.45命令编译生成新版本的magic.mgc:
    file -C -m .
    
  4. 替换原有的magic.mgc文件后,重新执行makemigrations。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:15:54