python目前有许多版本,特别是2和3的差别较大(虽然现在官方已经不再支持python2,但是仍然有很多项目使用python2)。一般一台Linux或mac上,要开发或运行多个python项目,可能就需要切换多个不同版本的python。
pyenv可以很好地帮助你管理、切换多个python版本。
一、安装方法
1、第一步是下载
一般下载到~/.pyenv目录就好啦
<code>git clone https://github.com/pyenv/pyenv.git ~/.pyenv/<code>
2、第二步是环境配置
~/.bash_profile文件中添加:
<code>export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi/<code>
- 如果使用zsh而不是bash:以上配置代码添加至~/.zshrc。
- 使用Ubuntu或者Fedora:以上配置代码添加至~/.bashrc。
- 如果使用fish,使用 pyenv init - | source 替换 eval "$(pyenv init -)"。
3、第三步是配置生效
重新打开新的terminal就好啦~
如果需要在当前terminal中生效:
<code>source ~/.bash_profile/<code>
(可以把~/.bash_profile替换成你想生效的shell配置文件)
二、使用方法
1、安装指定python版本
<code>pyenv install 3.7.1/<code>
注意:安装指定python版本前,需要一些依赖,否则python无法编译安装哦。比如Mac OS安装依赖:
<code>brew install openssl readline sqlite3 xz zlib/<code>
其他更多系统(Ubuntu、Debian、CentOS等)的依赖安装方法见:https://github.com/pyenv/pyenv/wiki
2、使用指定的python版本
pyenv支持4种指定python版本的方法。优先级由高到低,依次为:
(1)PYENV_VERSION环境变量指定的python版本。pyenv shell命令可设置当前shell session下的PYENV_VERSION环境变量。
<code>pyenv shell 3.7.1/<code>
(2)当前目录下.python-version文件中指定的python版本。
pyenv local命令可配置当前目录下.python-version文件。<code>pyenv local 3.7.1/<code>
(3)最临近的父目录下的.python-version文件。pyenv会一层层目录找上去,一直找到.python-version文件或者根目录为止。
(4)~/.pyenv/version文件中指定的python版本。pyenv global命令可配置~/.pyenv/version中的python版本。
<code>pyenv global 3.7.1/<code>
如果以上4种方式均未指定,将使用系统中的python哦。
(俺使用 pyenv global 比较多~)
三、卸载方法
<code>rm -rf $(pyenv root)/<code>
这样就能删除pyenv及pyenv安装的所有python版本啦,so easy~
各位观众~
如果想知道pyenv的工作原理,如果想知道pyenv下如何更好的管理virtualenv,且听下回分解~
閱讀更多 聽風聲雨聲 的文章