Python使用pyenv实现多环境管理
因某些需求,需要安装 TensorFlow ,很自然地在终端敲下了以下命令:
pip install tensorflow
然后。。。
好家伙???
居然没有??
因为是 Python 3.9 ,去 pypi 搜索了,居然还真没有支持的,最高只有 Python 3.8 :
于是便考虑一个多版本的 Python 环境,碰巧就在 Github 上看到了一个 22.3k 的东西:
这就是 pyenv ,一个简单的 Python 版本管理器,可以轻松地在各个 Python 版本之间进行切换。
好了废话不说,进入正题。
2 安装安装有两种方式:
自动安装 手动安装2.1 自动安装curl https://pyenv.run | bash# 或curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash2.2 手动安装
手动安装大致分为三步:
安装pyenv 配置环境变量 初始化2.2.1 安装 pyenv
笔者系统 Manjaro ,可以直接 yay 安装:
yay -S pyenv
其他系统的可以使用 apt search / yum search 等看看软件包仓库有没有,有的话直接安装即可,没有的话,可以 clone 安装:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
( 这一步是可选的 )接着就是编译动态 bash 扩展进行加速:
cd ~/.pyenv && src/configure && make -C src
官方解释说,不用害怕编译失败,因为仍然会正常工作。
2.2.2 配置环境变量
这一步就是把 PYENV 以及更新后的 PATH 配置成环境变量,官方文档按照 shell 类型进行了分类,根据自己情况选择即可。
2.2.2.1 bash
echo ’export PYENV_ROOT='$HOME/.pyenv'’ >> ~/.bash_profileecho ’export PATH='$PYENV_ROOT/bin:$PATH'’ >> ~/.bash_profile
2.2.2.2 Zsh
echo ’export PYENV_ROOT='$HOME/.pyenv'’ >> ~/.zshrcecho ’export PATH='$PYENV_ROOT/bin:$PATH'’ >> ~/.zshrc
2.2.2.3 Fish shell
set -Ux PYENV_ROOT $HOME/.pyenvset -Ux fish_user_paths $PYENV_ROOT/bin $fish_user_paths
2.2.3 初始化
配置完环境变量后还要进行初始化操作,文档同样按 shell 类型进行了分类。
2.2.3.1 bash
echo -e ’if command -v pyenv 1>/dev/null 2>&1; thenn eval '$(pyenv init -)'nfi’ >> ~/.bash_profile
2.2.3.2 Zsh
echo -e ’if command -v pyenv 1>/dev/null 2>&1; thenn eval '$(pyenv init -)'nfi’ >> ~/.zshrc
2.2.3.3 Fish shell
echo -e ’nn# pyenv initnif command -v pyenv 1>/dev/null 2>&1n pyenv init - | sourcenend’ >> ~/.config/fish/config.fish2.3 测试
重新开启一个终端,输入 pyenv ,输出如下信息就表明安装成功了:
虽然上面说了这么多命令,但实际使用频率高的命令并不多,主要有以下几个:
pyenv version pyenv install pyenv global一般安装的步骤如下,先使用
pyenv install -l
查找需要安装的 Python 版本:
这里还有一大串,就不全部截图了,比如需要安装 3.6.12 版本:
pyenv install 3.6.12
安装之后可以使用
pyenv versions
查看安装的版本,这里笔者安装有两个,一个是系统自带的 Python3.9 ,一个是 pyenv 安装的 Python3.6 :
接着使用
pyenv global 3.6.12
切换到新安装的版本:
这样就切换到了新安装的版本,如果不是全局替换而是局部替换的话可以使用 pyenv local / pyenv shell 。
要注意的是切换版本后 pip 的版本也会不一样,而且两个版本使用 pip 安装的包也是独立的:
1、 Github-pyenv
2、 Github-pyenv-installer
3、 知乎-Python环境Memo
到此这篇关于Python使用pyenv实现多环境管理的文章就介绍到这了,更多相关Python pyenv多环境管理内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章: