[toc]
python虚拟环境
1.pyenv
1.1 pyenv简介
说明
pyenv是一个简单的python版本管理工具,可以在多个python版本之间进行切换
1.2 安装pyenv
pyenv-installer 是一个用于安装pyenv的工具
1.2.1 通过脚本安装
说明
通过执行 curl https://pyenv.run | bash
安装的是最新版的pyenv,如果想要安装指定版本,可以设置环境变量,例如 export PYENV_GIT_TAG=v2.2.5
curl https://pyenv.run | bash
上边的调用相当于如下
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
安装完成后会在 $HOME
生成 .pyenv
目录
$ ls -a .pyenv
. .agignore CHANGELOG.md completions CONTRIBUTING.md .dockerignore .git .gitignore LICENSE Makefile plugins README.md terminal_output.png .vimrc
.. bin COMMANDS.md CONDUCT.md Dockerfile .editorconfig .github libexec MAINTENANCE.md man pyenv.d src test
完整输出如下
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 270 100 270 0 0 85 0 0:00:03 0:00:03 --:--:-- 85
Cloning into '/root/.pyenv'...
remote: Enumerating objects: 1259, done.
remote: Counting objects: 100% (1259/1259), done.
remote: Compressing objects: 100% (696/696), done.
remote: Total 1259 (delta 743), reused 714 (delta 430), pack-reused 0
Receiving objects: 100% (1259/1259), 623.93 KiB | 0 bytes/s, done.
Resolving deltas: 100% (743/743), done.
Cloning into '/root/.pyenv/plugins/pyenv-doctor'...
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 11 (delta 1), reused 5 (delta 0), pack-reused 0
Unpacking objects: 100% (11/11), done.
Cloning into '/root/.pyenv/plugins/pyenv-update'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 10 (delta 1), reused 5 (delta 0), pack-reused 0
Unpacking objects: 100% (10/10), done.
Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'...
remote: Enumerating objects: 64, done.
remote: Counting objects: 100% (64/64), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 64 (delta 10), reused 30 (delta 1), pack-reused 0
Unpacking objects: 100% (64/64), done.
WARNING: seems you still have not added 'pyenv' to the load path.
# Load pyenv automatically by appending
# the following to
# ~/.bash_profile if it exists, otherwise ~/.profile (for login shells)
# and ~/.bashrc (for interactive shells) :
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
# Restart your shell for the changes to take effect.
# Load pyenv-virtualenv automatically by adding
# the following to ~/.bashrc:
eval "$(pyenv virtualenv-init -)"
1.2.2 通过git安装
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
1.3 配置pyenv环境变量
将如下内容添加到相应的环境变量文件中
- bash
- zsh
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
使配置生效
exec "$SHELL"
测试安装是否正确,返回如下即表明正确
$ pyenv versions
* system (set by /root/.pyenv/version)
1.4 通过pyenv管理多版本python
pyenv命令语法
Usage: pyenv <command> [<args>]
1.4.1 安装指定的python版本
查看可安装的python版本列表
pyenv install --list