pyenv virtualenv安裝備忘

浏览: 1387

pyenv:

Python版本管理器,建立不同目录并在其中分别运行不同版本的Python,互不影响,pip安装的包也互不影响。不关apt-get安装的事儿,pyenv只是帮你换个你指定版本的python。

pyenv-virtualenv:

pyenv的一个plugin(插件),用来创建基于不同Python版本的干净的虚拟环境。

可以在不同版本,只装你想要的包,类似于虚拟机。换台机器,你可以把目录都拷走,直接用。

先理解PATH

echo $PATH
/usr/local/bin:/usr/bin:/bin

python 或pip这样的命令会从一个目录列表里去搜索可执行文件。这个列表就放在环境变量$PATH里,各目录用:隔开,且有从左到右的搜索先后顺序。

pyenv 就是PATH 前面插入shims目录

通过rehashing过程, pyenv维护目录里的shims来匹配每个版本的每个Python命令,pythonpip等等。由于shims在最左面,最优先执行shims对一个的可执行文件。

版本

$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
不同版本Python都安装在目录$(pyenv root)/versions

先装必须的包:
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev

sudo apt-get install git

sudo git clone https://github.com/yyuu/pyenv.git /cnn/pyenv/.pyenv
echo 'export PYENV_ROOT="/cnn/pyenv/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

sudo git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

echo 'eval "$(pyenv init -)"' >> ~/.bashrc

exec $SHELL

pyenv install 2.7.12 -v
# 对数据库进行更新:
pyenv rehash
pyenv shell 2.7.12

pyenv install 3.5.1 -v
pyenv rehash
pyenv shell 3.5.1

git clone https://github.com/yyuu/pyenv-virtualenv.git /cnn/pyenv/.pyenv/plugins/pyenv-virtualenv

exec "$SHELL"

pyenv virtualenv 2.7.12 env2
pyenv virtualenv 3.5.1 env3

pyenv activate env2
pyenv activate env3
可以直接activate切来切去,不用deactivate

pyenv deactivate 

如果需要删除指定版本:

pyenv uninstall 3.5.1

升级pyenv

cd $(pyenv root)
git pull
推荐 1
本文由 safa 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册