如何在MacOS下安装Python3
创始人
2024-06-03 18:57:24
0

对于Python开发者来讲,安装多个版本Python非常常见,原来我写过如何在Linux下安装Python3,今天我们来看下如何在MacOS下安装Python3.

mac系统自带python,不过mac系统自带的python版本都是2.x版本(Python2.7或者Python2.6为主)。如果你需要用到Python3,由于Python2和Python3有不兼容,所以需要安装不同版本的Python。

特别注意:Python2是系统自带的,很多地方会依赖Python2,所以强烈不建议卸载Python2,以免造成系统各种问题。并且也不建议直接用Python3替换系统的Python2版本,也可能会出现各种系统异常。

基于以上原因,我们想要安装Python3,可以让它与Python2并存。

下面看下mac下如何安装最新版的Python3。

安装xcode命令行工具
在安装之前,应先安装C编译器。最快的方式是运行xcode-select --install 来安装Xcode命令行工具

如果不确定是否安装了xcode工具, 可以运行

dev@pythontab.com:~$ xcode-select --install
xcode-select: error: command line tools are already installed, use “Software Update” to install updates
来查看提示, 如果安装了,会提示已安装。

安装Homebrew
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。

类似于pip, 或者centos的yum

安装Homebrew也非常简单,执行如下命令即可:

dev@pythontab.com:~$ /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
安装完成Homebrew后,需将其所在路径插入到 PATH 环境变量的最前面,即在您所登录用户的 ~/.profile 文件末尾加上这一行:

export PATH=“/usr/local/opt/python/libexec/bin:$PATH”
如果你使用的是 OS X 10.12(Sierra)或者更旧的系统,请使用如下命令

export PATH=/usr/local/bin:/usr/local/sbin:$PATH
Python3安装
直接运行命令:

dev@pythontab.com:~$ brew install python3
问题解决
执行完毕可能会发现出现如下错误:

Error: An unexpected error occurred during the brew link step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
大概意思是公式已经建立,但是在创建连接的时候因为没有权限而发生意外错误。在报错信息里我们看到一个目录/usr/local/Frameworks,我们先去找一下这个目录,发现这个目录竟然不存在,那我们就来手动创建一个:

dev@pythontab.com:~$ sudo mkdir /usr/local/Frameworks
创建好目录之后,再来解决权限问题:

dev@pythontab.com:~$ sudo chown $(whoami):admin /usr/local/Frameworks
不报错即为修改成功,修改好权限之后,还需要手动执行一下安装时未完成的创建连接:

dev@pythontab.com:~$ brew link python3
执行完成发现成功了,自此Python3安装完成,可以直接运行来体验了

dev@pythontab.com:~$python3 -V
Python 3.7.2

相关内容

热门资讯

122.(leaflet篇)l... 听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
Vue使用pdf-lib为文件... 之前也写过两篇预览pdf的,但是没有加水印,这是链接:Vu...
PyQt5数据库开发1 4.1... 文章目录 前言 步骤/方法 1 使用windows身份登录 2 启用混合登录模式 3 允许远程连接服...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
Linux基础命令大全(上) ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维...
再谈解决“因为文件包含病毒或潜... 前面出了一篇博文专门来解决“因为文件包含病毒或潜在的垃圾软件”的问题,其中第二种方法有...
南京邮电大学通达学院2023c... 题目展示 一.问题描述 实验题目1 定义一个学生类,其中包括如下内容: (1)私有数据成员 ①年龄 ...
PageObject 六大原则 PageObject六大原则: 1.封装服务的方法 2.不要暴露页面的细节 3.通过r...
【Linux网络编程】01:S... Socket多进程 OVERVIEWSocket多进程1.Server2.Client3.bug&...
数据结构刷题(二十五):122... 1.122. 买卖股票的最佳时机 II思路:贪心。把利润分解为每天为单位的维度,然后收...
浏览器事件循环 事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间࿰...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
计算机二级Python备考(2... 目录  一、选择题 1.在Python语言中: 2.知识点 二、基本操作题 1. j...
端电压 相电压 线电压 记得刚接触矢量控制的时候,拿到板子,就赶紧去测各种波形,结...
如何使用Python检测和识别... 车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计...
带环链表详解 目录 一、什么是环形链表 二、判断是否为环形链表 2.1 具体题目 2.2 具体思路 2.3 思路的...
【C语言进阶:刨根究底字符串函... 本节重点内容: 深入理解strcpy函数的使用学会strcpy函数的模拟实现⚡strc...
Django web开发(一)... 文章目录前端开发1.快速开发网站2.标签2.1 编码2.2 title2.3 标题2.4 div和s...