MacOS M1/M2/M3芯片如何安装Python3.6

前言

Mac电脑M芯片安装Python3.6报错。

一般情况下,Mac系统可以使用homebrew来管理安装软件。

brew search搜索发现,最低只能直接安装python@3.7版本。

于是从Python官网下载安装包进行安装,确实也没有报错,安装完成后执行总是killed,不能正常使用。

下载源码编译也不行。

直接使用pyenv版本管理工具进行安装也是提示编译错误。

解决方法

问题的根本原因是:系统安装的openssl版本过高导致。

按照一下步骤可以解决问题:

bash 复制代码
#Install Rosetta
/usr/sbin/softwareupdate --install-rosetta --agree-to-license

# Install x86_64 brew
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

# Set up x86_64 homebrew and pyenv and temporarily set aliases
alias brew86="arch -x86_64 /usr/local/bin/brew"
alias pyenv86="arch -x86_64 pyenv"

# Install required packages and flags for building this particular python version through emulation
brew86 install pyenv gcc libffi gettext
# 注意一定要安装正确的openssl版本,后续指定的PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA情况下,pyenv安装也会自动安装
brew86 install openssl@1.1
# -------------- change to openssl@1.1 here and others as well ----------+#                                                             ↓
export CPPFLAGS="-I$(brew86 --prefix libffi)/include -I$(brew86 --prefix openssl@1.1)/include -I$(brew86 --prefix readline)/lib"
export CFLAGS="-I$(brew86 --prefix openssl@1.1)/include -I$(brew86 --prefix bzip2)/include -I$(brew86 --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include -Wno-implicit-function-declaration" 
export LDFLAGS="-L$(brew86 --prefix openssl@1.1)/lib -L$(brew86 --prefix readline)/lib -L$(brew86 --prefix zlib)/lib -L$(brew86 --prefix bzip2)/lib -L$(brew86 --prefix gettext)/lib -L$(brew86 --prefix libffi)/lib"

# Providing an incorrect openssl version forces a proper openssl version to be downloaded and linked during the build
export PYTHON_BUILD_HOMEBREW_OPENSSL_FORMULA=openssl@1.1

# Install Python 3.6.4
pyenv86 install 3.6.4

安装完后可以在目录下设置版本pyenv local 3.6.4,效果如下图

参考资料

  1. install-python-3-6-on-mac-m1
相关推荐
杂货铺的小掌柜13 小时前
MAC版IDEA常用快捷键
java·macos·intellij-idea
江下枫2 天前
macOS 内置反恶意软件三板斧
macos
昵称已被吞噬~‘(*@﹏@*)’~2 天前
【强化学习】MacOS (M1芯片)上最新版本 MuJoCo 通用安装教程(最简洁),PS:不是 mujoco_py 的老版本
python·macos·机器学习·强化学习·mujoco
小锋学长生活大爆炸2 天前
【教程】MacOS绕过Apple Develop ID获取麦克风权限
macos·swift
TESmart碲视2 天前
如何设置双屏KVM切换器(Win+Mac双屏双系统共享一套键鼠):手把手详细指南
macos·计算机外设·mst·kvm切换器·tesmart·双屏kvm切换器·tesmart碲视
2501_915106322 天前
iOS开发中CPU功耗监控的实现与工具使用
android·macos·ios·小程序·uni-app·cocoa·iphone
TheNextByte12 天前
如何使用数据线或无线方式将照片从Mac传输到 iPhone?
macos·ios·iphone
Data吴彦祖2 天前
Mac上安装Visual Studio Code教程
c语言·macos·visual studio code
芒鸽2 天前
macOS 上用 lycium 交叉编译 FFmpeg 适配鸿蒙(OHOS):从构建到 HNP 打包
macos·ffmpeg·harmonyos
禾叙_2 天前
【ollama】同一WiFi下Mac访问Windows Ollama失败?完整调试指南(从Connection refused到成功连通)
windows·macos