pyenv管理多个版本python环境
要不停的在各个不同版本的 python 环境之间切换,所以想到了pyenv,但是对于这种需要在多个不同版本之间切换的 case,就只能使用 pyenv 了。
env
- macbook pro 2019(monterey) intel
- pyenv
1.安装
1.mac brew
# 1.1install
brew install pyenv
# 1.2set env
tee >>~/.zprofile <<-'EOF'
# add pyenv init env
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/shims ]] && export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init -)"
EOF
# 1.3refresh env
source ~/.zprofile
# 1.4plugin pyenv-virtualenv
brew install pyenv-virtualenv
tee >>~/.zprofile <<-'EOF'
eval "$(pyenv virtualenv-init -)"
EOF
pyenv可以看到virtualenv插件命令
2.基于脚本安装
运行下面的命令会自动下载安装
# 2.1execute sh
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
# 2.2add env
export PATH="/home/xxx/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
# 2.3source
source .~/.bashrc
2.使用pyenv管理python版本
# 2.1check
$ pyenv versions
* system (set by /home/kongxx/.pyenv/version)
其中 system 表明是系统安装的包。* 表示当前正在使用的 python 环境。
# 2.2查看当前可以被安装python版本
$ pyenv install -l
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
...
# 2.3安装指定版本的 python
$ pyenv install 2.7.10
Downloading Python-2.7.10.tar.xz...
-> https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
Installing Python-2.7.10...
patching file ./Lib/site.py
Installed Python-2.7.10 to /home/kongxx/.pyenv/versions/2.7.10
$ pyenv install 3.2.1
...
# 2.4安装后查看现在已经安装了python版本
$ pyenv versions
* system (set by /home/kongxx/.pyenv/version)
2.7.10
3.2.1
# 2.5使用制定版本python
$ pyenv global 3.2.1
$ python -V
Python 3.2.1
# 2.6使用后查看当前使用python版本
$ pyenv version
3.2.1 (set by /home/kongxx/.pyenv/version)
$ pyenv versions
system
2.7.10
* 3.2.1 (set by /home/kongxx/.pyenv/version)
3.使用 pyenv管理virtualenv
使用 python 3.2.1 来创建一个 virtualenv 环境
# 3.1创建一个 virtualenv 环境
$ pyenv virtualenv 3.2.1 myenv
$ pyenv versions
system
2.7.10
* 3.2.1 (set by /home/kongxx/.pyenv/version)
3.2.1/envs/myenv
myenv
# 3.2激活当前需要使用的 virtualenv
$ pyenv activate myenv
$ pyenv versions
system
2.7.10
3.2.1
3.2.1/envs/myenv
* myenv (set by PYENV_VERSION environment variable)
# 3.3去除当前需要使用的 virtualenv
$ pyenv deactivate
3.4删除当前需要使用的 virtualenv
$ pyenv virtualenv-delete myenv