最好用的python版本管理工具-pyenv

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,且听下回分解~


分享到:


相關文章: