Mac Python 使用 pyenv 多版本管理

简介: Mac Python 使用 pyenv 多版本管理

一、pyenv 安装

# 更新 brew 保证下载到新版本的 pyenv
$ brew update
# 安装
$ brew install pyenv
# 卸载
$ brew uninstall pyenv
  • curl 安装方式,直接看 官方 GitHub
  • 注意: 上面两种安装完成之后,还需要配置一下环境变量,Bash、Zsh 解释器不同配置方式不同,推荐看下 官方文档
  • 添加环境变量到 ~/.zshrc 或者 ~/.bash_profile 中,如果报错 command not found: python,建议看下 官方文档 环境变量配置,调整好即可:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
  • 刷新一下环境变量使其生效
# 加了哪个就刷新哪个
$ source ~/.zshrc
$ source ~/.bash_profile

二、pyenv 使用

  • 列出所有可安装版本:
$ pyenv install -l
$ pyenv install --list
  • 列出所有已安装的版本,当前使用版本会用 星号(*)标出:
$ pyenv version
$ pyenv versions
  • 安装指定版本:
$ pyenv install <version>
$ pyenv install [-k -v] <version>
# pyenv install -k -v 3.10.0 -k 是 keep,安装之后会在本地保存下载的源码包,-v是 version,指定为当前 global 版本
  • 卸载某个版本(-f 或 --force 参数指是否强制卸载,如果强制卸载不会弹出提示,而且如果版本不存在话也不会显示错误信息):
$ pyenv uninstall [-f|--force] <version>
  • 改变全局 Python版本:
$ pyenv global 3.10.2
  • 改变当前目录 Python 版本:
$ pyenv local 3.10.2
  • 取消当前目录版本改变:
$ pyenv local --unset
  • 查看当前将使用的版本(可以用来核对版本是否切换成功):
$ python -V
  • 指定当前 Shell 使用的 Python 版本
pyenv shell 3.10.2
  • 取消当前 Shell 使用的 Python 版本
$ pyenv shell --unset
  • 如果出现什么小问题或者没生效的情况,可以尝试刷新一下:
$ pyenv rehash
相关文章
|
1月前
|
Python
【10月更文挑战第10天】「Mac上学Python 19」小学奥数篇5 - 圆和矩形的面积计算
本篇将通过 Python 和 Cangjie 双语解决简单的几何问题:计算圆的面积和矩形的面积。通过这道题,学生将掌握如何使用公式解决几何问题,并学会用编程实现数学公式。
160 60
|
1月前
|
Python
【10月更文挑战第10天】「Mac上学Python 20」小学奥数篇6 - 一元一次方程求解
本篇将通过 Python 和 Cangjie 双语讲解如何求解一元一次方程。通过这道题,学生将掌握如何用编程实现方程求解,并体验基本的代数计算。
101 1
|
24天前
|
存储 网络安全 数据安全/隐私保护
|
1月前
|
Python
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
本篇将详细介绍Python中的运算符,包括数学运算、关系运算、逻辑运算、赋值运算和成员运算等内容。同时会说明运算符的优先级和运算顺序,帮助用户理解和掌握Python中的运算符使用规则。
37 3
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
|
1月前
|
Python
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
本篇将详细介绍Python中的常见数据类型转换方法以及 `NoneType` 的概念。包括如何在整数、浮点数、字符串等不同数据类型之间进行转换,并展示如何使用 `None` 进行初始赋值和处理特殊情况。通过本篇的学习,用户将深入理解如何处理不同类型的数据,并能够在代码中灵活使用 `None` 处理未赋值状态。
55 2
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
|
1月前
|
Python
【10月更文挑战第7天】「Mac上学Python 15」小学奥数篇1 - 如何平分6个苹果和4个橘子
本篇将通过 Python 和 Cangjie 双语讲解一个简单的数学题:如何平分 N 个苹果和 M 个橘子。这道题旨在锻炼初学者的逻辑思维,并学会使用编程解决实际问题。
73 1
【10月更文挑战第7天】「Mac上学Python 15」小学奥数篇1 - 如何平分6个苹果和4个橘子
|
1月前
|
Python
【10月更文挑战第6天】「Mac上学Python 12」基础篇6 - 输入输出与格式化详解
本篇将详细介绍Python中的输入和输出函数,包括 `print()` 和 `input()` 函数的使用,涵盖格式化输出、类型转换及常见的字符串格式化方法。通过学习本篇,用户将掌握如何使用Python进行输入输出操作,并能灵活运用格式化输出处理数据。
59 1
【10月更文挑战第6天】「Mac上学Python 12」基础篇6 - 输入输出与格式化详解
|
23天前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
59 5
|
25天前
|
数据安全/隐私保护 Python
【10月更文挑战第17天】「Mac上学Python 28」基础篇9 - 条件语句与逻辑判断
在Python中,条件语句和逻辑判断是控制程序执行流程的关键工具,帮助程序在不同条件下做出不同决策。通过本篇的学习,您将掌握单选、双分支、多选结构、单行条件表达式、条件嵌套、条件判断的类型和逻辑运算符的用法,从而更灵活地控制程序执行流程。
47 5
|
23天前
|
Python
【10月更文挑战第18天】「Mac上学Python 29」基础篇10 - 循环结构与迭代控制
在Python中,循环结构是控制程序执行的重要工具。通过学习本篇内容,您将掌握如何使用for循环和while循环来高效地处理重复任务,并了解break、continue和else的使用方式。同时,我们还会探索嵌套循环和典型应用场景中的实际应用。
38 2