使用Pipenv安装Django失败:backports.zoneinfo编译报找不到Python.h
解决Pipenv安装Django时backports.zoneinfo编译失败问题
错误核心是编译backports.zoneinfo时找不到Python.h头文件,这是macOS环境下缺少Python开发依赖或Xcode命令行工具配置异常导致的,以下是具体解决步骤:
安装/重置Xcode命令行工具
执行命令安装:xcode-select --install若已安装仍报错,先重置再重新安装:
sudo xcode-select --reset xcode-select --install确保Python 3.8包含开发依赖
macOS自带的Python可能缺失开发头文件,推荐通过Homebrew重新安装Python 3.8(自动包含开发组件):# 安装Homebrew(若未安装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 安装Python 3.8 brew install python@3.8 # 指定Pipenv使用该版本Python pipenv --python /usr/local/bin/python3.8强制使用预编译的backports.zoneinfo包
跳过编译过程,直接安装预编译的wheel包:pipenv run pip install backports.zoneinfo==0.2.1 --only-binary :all: # 再安装Django pipenv install django降级Django版本(备选方案)
Django 4.1对Python<3.9依赖backports.zoneinfo,若上述方法无效,可安装兼容性更好的Django 3.2 LTS版本:pipenv install django==3.2
内容的提问来源于stack exchange,提问作者Jlee11
相关产品推荐
相关产品推荐

