Mac版Python3安装/升级的方式

 更新时间:2023年03月03日 10:19:19   作者:卜大爷  
这篇文章主要介绍了Mac版Python3安装/升级的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Mac版Python3安装/升级

Mac系统自带Python,但都是2.X版本,非常老的版本了。

如果我们需要安装Python3版本,怎么能快速升级呢?

Homebrew安装

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

安装要求:

  • Intel CPU
  • OS X 10.9 or higher
  • Xcode命令行工具

安装Homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

更新Homebrew

如果之前已经安装了,则可以用一下命令进行更新:

$ brew update

安装Python3

我们可以使用HomeBrew直接安装Python3。

安装命令

安装命令非常简单,格式如下:

$ brew install <packageName>

直接安装Python3

brew install python3

修改默认Python版本

Python3安装完成后,我们系统中会存在2.X和3.X两个版本,默认是2.x的版本,需要我们修改下配置,使3.x版本成为默认项。

修改.bash_profile或.zshrc文件

编辑.bash_profile或.zshrc文件(根据系统使用的shell工具选择相应的配置文件)

$ vi ~/.zshrc

进入编辑状态,添加一行:

# 添加这一行
alias python="/usr/local/bin/python3"

按ESC退出编辑模式,输入:wq,退出并保存。

验证

终端中输入:

python -V

输出为:

Python 3.8.5

Python3的版本已经安装好了。

Mac上Python升级到最新版

下载

下载Mac OS X 64-bit/32-bit installer

https://www.python.org/downloads/release/python-340/

安装

安装下载的dmg文件

配置

#!/bin/bash
#python版号需要修改两个地方
#1. new_version

#sudo -i #得到超级权限
new_version="3.4"

PYPATH=/System/Library/Frameworks/Python.framework/Versions/"$new_version"
#第1步移动新版python到mac默认目录下
echo "move.."
mv /Library/Frameworks/Python.framework/Versions/"$new_version" /System/Library/Frameworks/Python.framework/Versions/
#第2步改变用户目录的用户组
echo "chown.."
chown -R root:wheel ${PYPATH}
#第3步 删除原来2.7的链接
echo "del.."
rm /System/Library/Frameworks/Python.framework/Versions/Current
#第4步重新链接到最新版本的python
echo "ln.."
ln -s ${PYPATH} /System/Library/Frameworks/Python.framework/Versions/Current
#第5步删除旧的命令符号链接
echo "rm.."
rm /usr/bin/{pydoc,python,pythonw,python-config}
echo "ln bin.."
#第6步重新建立新的命令符号链接
ln -s ${PYPATH}/bin/pydoc"$new_version" /usr/bin/pydoc
ln -s ${PYPATH}/bin/python"$new_version" /usr/bin/python
ln -s ${PYPATH}/bin/pythonw"$new_version" /usr/bin/pythonw
ln -s ${PYPATH}/bin/python"$new_version"m-config /usr/bin/python-config


python_param_list=`cd /usr/local/bin && ls -al |grep "Python"|awk 'ORS=" " {print $9}'`
#第7步修复其他链接
for i in $python_param_list;do
  echo "info: $i"
  rm -f /usr/local/bin/${i}
  ln -sv /System/Library/Frameworks/Python.framework/Versions/"$new_version"/bin/${i} /usr/local/bin/${i}
done

#第8步.环境变量要修改为最新的版本号
echo 'export PATH=/System/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}' >> ~/.bashrc

exit #退出超级权限

注意:

移动文件到Mac系统中需要权限,若没有权限会报 operation not permitted

是因为一些mac用户在升级系统之后,电脑启用了SIP(System Integrity Protection),增加了rootless机制,导致即使在root权限下依然无法修改文件,在必要时候为了能够修改下面的文件,我们只能关闭该保护机制

1)重启,过程中按住 command+R,进入保护模式

2)打开terminal终端,输入

csrutil disable

再重启可重新操作。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中多线程和多进程的基本用法详解

    Python中多线程和多进程的基本用法详解

    这篇文章介绍了 Python 中多线程和多进程的相关知识,包括并发编程的优势,多线程和多进程的概念、适用场景、示例代码,线程池和进程池的使用,以及如何选择合适的并发方法,强调应根据任务类型等因素综合考虑,合理运用以提升程序效率,需要的朋友可以参考下
    2025-02-02
  • keras实现theano和tensorflow训练的模型相互转换

    keras实现theano和tensorflow训练的模型相互转换

    这篇文章主要介绍了keras实现theano和tensorflow训练的模型相互转换,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python知识点详解之正则表达式语法

    Python知识点详解之正则表达式语法

    正则表达式在搜索大型文本、电子邮件和文档时非常有用,正则表达式也称为"用于字符串匹配的编程语言",下面这篇文章主要给大家介绍了关于Python知识点之正则表达式语法的相关资料,需要的朋友可以参考下
    2022-05-05
  • python3.x编码解码unicode字符串的实现示例

    python3.x编码解码unicode字符串的实现示例

    ASCII文本编码是一种Unicode,存储为表示字符的字节值的一个序列,本文主要介绍了python3.x编码解码unicode字符串的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 解决anaconda prompt找不到的问题解决

    解决anaconda prompt找不到的问题解决

    本文介绍了由于注销系统导致Anaconda Prompt找不到的问题,文中通过图文介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • Pyinstaller打包工具的使用以及避坑

    Pyinstaller打包工具的使用以及避坑

    本文主要的是pyinstaller在windows下的基本使用和基础避坑,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • python数据爬下来保存的位置

    python数据爬下来保存的位置

    在本篇文章里小编给大家整理的是关于python数据爬下来保存的位置,需要的朋友们可以参考下。
    2020-02-02
  • 解决windows下python3使用multiprocessing.Pool出现的问题

    解决windows下python3使用multiprocessing.Pool出现的问题

    这篇文章主要介绍了解决windows下python3使用multiprocessing.Pool出现的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 彻底搞懂Python字符编码

    彻底搞懂Python字符编码

    本篇文章带领大家彻底搞懂Python字符编码的一些知识,及python字符编码的一些基础概念,需要的朋友可以参考下
    2018-01-01
  • Python基于动态规划算法计算单词距离

    Python基于动态规划算法计算单词距离

    这篇文章主要介绍了Python基于动态规划算法计算单词距离的方法,实例分析了Python动态规划算法的实现与使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论