Mac上pyenv的安装及使用

pyenv 是一个 Python 版本管理工具,可以让您在系统中轻松管理多个 Python 版本。通过 pyenv,您可以安装不同的 Python 版本,并针对特定项目或需求使用不同的 Python 版本。此外,pyenv 还可以管理全局 Python 版本和本地项目特定版本,让您能够更加灵活地管理 Python 环境。这可以帮助开发人员避免由于不同的项目需要不同版本的 Python 而引起的兼容性和依赖性问题。

安装

安装pyenv

在这里,使用Homebrew来安装pyenv,如果mac上还没有安装Homebrew,请参考这里

brew update
brew install pyenv

为pyenv配置shell环境

本博主使用的是zsh环境,所以本篇文章仅以zsh为例,如需要配置其他shell环境,请参考这里

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

配置好后,重启我们的shell

exec "$SHELL"

使用

此时,我们已经安装了 pyenv,但它尚未为我们管理任何版本。如果我们询问 pyenv 它知道哪些版本,它只会报告它知道关于"system"的信息。

➜  ~ pyenv versions
* system (set by /Users/wenzizone/.pyenv/version)

基本使用

命令 描述
pyenv --version 查看 pyenv 的版本
pyenv versions 罗列当前已安装的所有 python 环境,
如果是当前正在使用的环境,则前面会有个 *
pyenv help 查看帮助
pyenv init 如果输入 pyenv 之后使用 tab 不补全,
可以使用该命令进行初始即可使用补全命令

安装环境

命令 描述
pyenv install -l 显示可以安装的版本列表
pyenv install 版本号 安装指定版本的 python
pyenv rehash 更新本地数据库,安装指定版本的 python 后使用

环境应用

命令 描述
pyenv global 版本号 更改本机版本,重启不会造成再次更改
pyenv local 版本号 会在当前目录创建 .python-version 文件,
并记录设置的 python 环境,
每次进入该目录会自动设置成该 python 环境
pyenv shell 版本号 更改当前 shell 下使用的 python 版本,
临时生效,优先级高于 global

示例

  1. 安装指定版本的python
➜  ~ pyenv install 3.12.0
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.12.0.tar.xz...
-> https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz
Installing Python-3.12.0...
.
.
.
Installed Python-3.12.0 to /Users/wenzizone/.pyenv/versions/3.12.0

➜  ~ pyenv versions
* system (set by /Users/wenzizone/.pyenv/version)
  3.12.0
  1. 更该全局环境python版本
➜  ~ pyenv global 3.12.0

➜  ~ pwd
/Users/wenzizone
➜  ~ pyenv versions
  system
* 3.12.0 (set by /Users/wenzizone/.pyenv/version)
➜  ~ cd /tmp
➜  /tmp pyenv versions
  system
* 3.12.0 (set by /Users/wenzizone/.pyenv/version)

由此可见,全局的python版本已经被设置为3.12.0了

  1. 设置当前目录使用python版本
➜  ~ cd /tmp
➜  /tmp pyenv local 3.12.0

➜  /tmp pyenv versions
  system
* 3.12.0 (set by /tmp/.python-version)
➜  /tmp cd
➜  ~ pyenv versions
* system (set by /Users/wenzizone/.pyenv/version)
  3.12.0

  ➜  /tmp ls -a
.
..
.python-version
Sublime Text.4cff18d2bab96a93366319a9e0fa060d.dc715bc726b62806c2cb0a28eb2303bb.sock

由此可见,在/tmp目录下,会自动使用3.12.0版本的python,其他目录都是使用系统自带了。主要,pyenv local命令会在当前目录下创建一个.python-version的文件

➜  /tmp cat .python-version
3.12.0

文件内容其实就是所用python对应的版本号

本文章出自:https://www.wenzizone.com/202311/install-pyenv-on-mac

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容