image.png
pyenv
pyenv是一个管理多版本Python的工具.前身为Pythonbrew,pyenv允许你改变全局的python版本,安装多种不同的python版本,设置应用指定的python版本以及创建/管理虚拟的python环境
安装
代码语言:javascript复制curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
下载并安装pyenv 执行结果:
代码语言:javascript复制 % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2454 100 2454 0 0 589 0 0:00:04 0:00:04 --:--:-- 589
正克隆到 '/home/user/.pyenv'...
remote: Enumerating objects: 693, done.
remote: Counting objects: 100% (693/693), done.
remote: Compressing objects: 100% (524/524), done.
remote: Total 693 (delta 353), reused 261 (delta 77), pack-reused 0
接收对象中: 100% (693/693), 389.31 KiB | 318.00 KiB/s, 完成.
处理 delta 中: 100% (353/353), 完成.
检查连接... 完成。
正克隆到 '/home/user/.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 2 (delta 0), pack-reused 0
展开对象中: 100% (11/11), 完成.
检查连接... 完成。
正克隆到 '/home/user/.pyenv/plugins/pyenv-installer'...
remote: Enumerating objects: 16, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 16 (delta 1), reused 8 (delta 0), pack-reused 0
展开对象中: 100% (16/16), 完成.
检查连接... 完成。
正克隆到 '/home/user/.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 6 (delta 0), pack-reused 0
展开对象中: 100% (10/10), 完成.
检查连接... 完成。
正克隆到 '/home/user/.pyenv/plugins/pyenv-virtualenv'...
remote: Enumerating objects: 57, done.
remote: Counting objects: 100% (57/57), done.
remote: Compressing objects: 100% (51/51), done.
remote: Total 57 (delta 11), reused 21 (delta 0), pack-reused 0
展开对象中: 100% (57/57), 完成.
检查连接... 完成。
正克隆到 '/home/user/.pyenv/plugins/pyenv-which-ext'...
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 6 (delta 0), pack-reused 0
展开对象中: 100% (10/10), 完成.
检查连接... 完成。
WARNING: seems you still have not added 'pyenv' to the load path.
# Load pyenv automatically by adding
# the following to ~/.bashrc:
export PATH="/home/user/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
然后打开~/.bashrc
文件添加进入环境变量:
export PATH="/home/user/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
安装验证
重新打开一个终端, 执行:
代码语言:javascript复制$ pyenv -v
执行结果:
image.png
安装成功,哈哈。
安装依赖的软件包
必要!!!
代码语言:javascript复制sudo apt-get update
sudo apt-get install make build-essential libssl-dev zlib1g-dev
sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
sudo apt-get install llvm libncurses5-dev libncursesw5-dev
pyenv常用命令介绍
命令 | 说明 |
---|---|
pyenv install --list | 列出可安装版本 |
pyenv install <version> | 安装对应版本 |
pyenv install -v <version> | 安装对应版本,若发生错误,可以显示详细的错误信息 |
pyenv versions | 显示当前使用的python版本 |
pyenv which python | 显示当前python安装路径 |
pyenv global <version> | 设置默认Python版本 |
pyenv local <version> | 当前路径创建一个.python-version, 以后进入这个目录自动切换为该版本 |
pyenv shell <version> | 当前shell的session中启用某版本,优先级高于global 及 local |
查看可安装的版本
代码语言:javascript复制pyenv install --list
使用效果:
image.png
安装对应版本
代码语言:javascript复制pyenv install 3.6.8
显示当前使用的python版本
代码语言:javascript复制pyenv versions
使用效果:
image.png
置默认Python版本
代码语言:javascript复制pyenv global 3.6.8
设置完成后执行pyenv versions
:
image.png
参考
Pyenv教程