Python Mac 上安装多个版本的 python,怎么管理

tester1.0 for 求职面试圈 · 2022年10月21日 · 最后由 海枫 回复于 2023年01月10日 · 8767 次阅读

pyenv 可在不同 python 版本之间轻松切换,实现 python 环境隔离,且支持自动激活和退出虚拟环境

Mac 下安装了 homebrew 之后使用 homebrew 安装 pyenv。(安装 homebrew,已安装请忽略)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 安装
brew install pyenv

遇到的问题:brew 下载 pyenv 时,不成功,发现最后报错:

原来是一个依赖包下载不成功readline

解决

用 brew 单独下载依赖包,就避免了找不到依赖版本的错误

brew install readline

根据自身环境,将下方添加环境变量到~/.zshrc 或者 ~/.bash_profile 中添加三行来开启自动补全。

export PYENV_ROOT=/usr/local/var/pyenv
export PATH="$PYENV_ROOT/bin:$PATH"
export PATH="$PYENV_ROOT/shims:$PATH"
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

  1. 验证 验证安装是否成功:
pyenv

3.使用

# 1. 查看正在使用的python版本
$ pyenv version 
system (set by /usr/local/var/pyenv/version)

# 2. 查看系统支持的python版本
$ pyenv versions
* system (set by /usr/local/var/pyenv/version)
  3.6.0

## * 表示正在使用的python版本 system 表示系统自带的python

# 3. 查看可以安装的python有哪些
pyenv install -l
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  2.4.1
  2.4.2
  2.4.3
  2.4.4
  * * *

# 4. 安装指定版本的pyton
 pyenv install 3.6.0

# 5. pyenv local 设置当前目录使用的python版本
$ mkdir py3   && cd py3  && pyenv local 3.6.0

# 验证
# MacBookPro in /tmp/py3 
$ python -V
Python 3.6.0

# MacBookPro in /tmp/py3 
$ cd

$ python -V
Python 2.7.10

# 6. Python版本管理

pyenv global <version>  # 全局设置python版本为指定版本设置全局的 Python 版本通过将版本号写入 ~/.pyenv/version 文件的方式
pyenv local <version>   # 设置当前路径下python版本为指定版本设置 Python 本地版本通过将版本号写入当前目录下的 .python-version 文件的方式通过这种方式设置的 Python 版本优先级较 global 
pyenv shell <version>   # 设置当前shell窗口使用的python版本为指定版本设置面向 shell  Python 版本通过设置当前 shell  PYENV_VERSION 环境变量的方式这个版本的优先级比 local  global 都要高。–unset 参数可以用于取消当前 shell 设定的版本

使用pyenv切换Python 版本之后可以通过which python或者是python --version来查看是否生效

# 7.Python版本的优先级

shell > local > global

pyenv会从当前目录开始向上逐级查找.python-versiob文件直到根目录为止若找不到则使用global版本

# 8.Python卸载

pyenv isntall <version> # 安装版本号为<version>的Python
pyenv uninstall <version> #卸载版本号为<version>的Python

pyenv 能做什么

1. 基于每个用户更改全局Python版本
2. 对每个项目的Python版本提供支持
3. 允许通过环境变量覆盖Python版本
4. 一次搜索多个版本的Python
共收到 2 条回复 时间 点赞

我已经忘记了我怎么装的了。。。

homebrew 装了两个版本的 python

使用不同的版本号指定

可以考虑使用 conda,或者 miniconda,我就是用这个安装了不同的 python 版本

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册