-
pyenv
安装
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
安装过程做了这些事
git clone --depth 1"[git://github.com/pyenv/pyenv.git](git://github.com/pyenv/pyenv.git)" "${HOME}/.pyenv"
git clone --depth 1"[git://github.com/pyenv/pyenv-doctor.git](git://github.com/pyenv/pyenv-doctor.git)" "${HOME}/.pyenv/plugins/pyenv-doctor"
git clone --depth 1"[git://github.com/pyenv/pyenv-installer.git](git://github.com/pyenv/pyenv-installer.git)" "${HOME}/.pyenv/plugins/pyenv-installer"
git clone --depth 1"[git://github.com/pyenv/pyenv-update.git](git://github.com/pyenv/pyenv-update.git)" "${HOME}/.pyenv/plugins/pyenv-update"
git clone --depth 1"[git://github.com/pyenv/pyenv-virtualenv.git](git://github.com/pyenv/pyenv-virtualenv.git)""${HOME}/.pyenv/plugins/pyenv-virtualenv"
git clone --depth 1"[git://github.com/pyenv/pyenv-which-ext.git](git://github.com/pyenv/pyenv-which-ext.git)" "${HOME}/.pyenv/plugins/pyenv-which-ext"
配置
echo 'export PATH="/home/python/.pyenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile
#查看pyenv版本
pyevn -v
#更新pyenv
pyenv update
查看可安装的python版本
pyenv install --list
选择版本号安装
pyenv install 3.6.4
查看使用的python版本
pyenv versions
配置及管理python版本
pyenv管理python版本的三个基础命令
pyenv global <version>
pyenv shelll <version>
pyenv local <version>
使用pyenv global
pyenv global 3.6.4
使用pyenv shelll
pyenv shell 3.5.4
当前shell下,取消配置的使用python shell --unset;若退出此shell,配置也会失效。
pyenv shell --unset
使用pyenv local
新建一个文件夹~/project,在此文件夹下使用python local
mkdir project
cd project
pyenv local 3.6.4
在此文件夹下,查看版本
python -V
Python 3.6.4
pyenv是如何进行python版本管理的
使用which命令,可以看到,python命令已经不是本来的python命令,而是shims中的脚本文件
which python
~/.pyenv/shims/python
which python3
~/.pyenv/shims/python3
which pip3
~/.pyenv/shims/pip3
对虚拟环境的接管
解释器安装的路径为/.pyenv/versions/3.6.4/;插件的安装的路径为/.pyenv/versions/3.6.4/lib/python3.6/site-packages;
使用pyenv-virtualenv创建python虚拟环境,实质上是在/.pyenv/versions/3.6.4/下创建一个文件夹evns,存放该虚拟环境python的解释器;并且在/.pyenv/下创建一个软连接,该虚拟环境可以通过pyenv进行管理;
pyenv virtualenv 环境名称
查看现有的环境
pyenv virtualenvs
切换到虚拟环境
pyenv shell 环境名称