Mac 11.6.1(Big Sur)安装Python 3.6 pyenv及源码编译均报错求助
macOS 11.6.1 Big Sur 安装Python 3.6.15可行解决方案
Python 3.6系列停止维护时间早于Big Sur系统发布时间,默认编译参数与新版Xcode命令行工具不兼容,是两类报错的核心原因,可按照以下两种方案解决:
方案1:使用pyenv安装(推荐,便于后续多版本管理)
- 先通过Homebrew安装必要依赖:
brew install openssl readline sqlite3 xz zlib tcl-tk - 执行带兼容参数的安装命令,直接规避编译兼容问题:
CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix readline)/include -Wno-implicit-function-declaration" \ LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib" \ PYTHON_CONFIGURE_OPTS="--enable-framework --with-openssl=$(brew --prefix openssl)" \ pyenv install 3.6.15 - 安装完成后可通过
pyenv global 3.6.15(全局生效)或pyenv local 3.6.15(当前目录生效)切换版本,执行python --version验证版本正确即可。
方案2:手动编译官方源码的修复方式
如果使用自行下载的源码包编译,按以下命令操作即可解决报错:
- 进入源码目录后,执行带兼容参数的configure命令:
CFLAGS="-Wno-implicit-function-declaration" ./configure --enable-framework --with-openssl=$(brew --prefix openssl) - 后续正常执行
make编译,编译无报错后执行sudo make install即可完成安装,安装完成后Python 3.6默认位于/Library/Frameworks/Python.framework/Versions/3.6/目录下。
后续创建虚拟环境步骤
Python 3.6安装完成后,按以下步骤创建指定版本的虚拟环境:
- 先确认Python 3.6可执行文件路径:pyenv安装的默认路径为
~/.pyenv/versions/3.6.15/bin/python3.6,手动编译安装的路径为上文系统目录下的对应可执行文件。 - 执行虚拟环境创建命令:
virtualenv -p 你的Python3.6可执行文件路径 自定义虚拟环境名称 - 执行
source 自定义虚拟环境名称/bin/activate激活虚拟环境即可正常使用。
内容的提问来源于stack exchange,提问作者Jake Mulhern
相关产品推荐
相关产品推荐

