Pyenv + virtualEnv 设置python
安装这两个组件是为了适应不一样版本的python在同一个系统下的运行;
例如如今最明显就是python2.7和python3.6的两个版本,不少库依旧是使用了
Python2.7 但官方推荐的python3.6 固然不支持python2.7 的仍是比较少的;两个版本是之间断层的,3.6 不兼容2.7的,没办法,只能这样来。git
1,安装pyenv
1)安装依赖库github
yum install git
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2)安装pyenvsql
mkdir ~/.pyenv git clone git://github.com/yyuu/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 –l
3)pyenv 命令总结
详细列表:https://github.com/yyuu/pyenv/blob/master/COMMANDS.md#command-referenceshell
经常使用命令以下:
- pyenv versions:查看当前 pyenv 可检测到的全部版本,处于激活状态的版本前以 * 标示。
- pyenv version:查看当前处于激活状态的版本,括号中内容表示这个版本是由哪条途径激活的(global、local、shell)
- pyenv install:使用 python-build(一个插件) 安装一个 Python 版本,到 $PYENV_ROOT/versions 路径下。建议添加 -v 参数用于显示细节。python-build 会首先尝试从一个镜像站点下载包,此时能够去 /tmp/python-build.xxx 里面关心一下下载速度
- pyenv uninstall:卸载一个版本
- pyenv rehash:为全部已安装的可执行文件 (如:~/.pyenv/versions//bin/) 建立 shims,所以,每当你增删了 Python 版本或带有可执行文件的包(如 pip)之后,都应该执行一次本命令
- pyenv global:设置全局的 Python 版本,经过将版本号写入 ~/.pyenv/version 文件的方式。
- pyenv local:设置面向程序的本地版本,经过将版本号写入当前目录下的 .python-version 文件的方式。经过这种方式设置的 Python 版本优先级较 global 高。pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。若找不到,就用 global 版本。
- pyenv shell:设置面向 shell 的 Python 版本,经过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。–unset 参数能够用于取消当前 shell 设定的版本。bash
2,安装pyenv-virtual
pyenv virtualenv是pyenv的插件,为UNIX系统上的Python virtualenvs提供pyenv virtualenv命令。python2.7
1)安装pyenv-virtualui
$git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv $echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile $source ~/.bash_profile
2)实战例子
(1)查看可下载python版本spa
pyenv install –list
(2)安装3.5.3 python 版本插件
pyenv install –v 3.5.3
(3)查看全部版本
Pyenv versions
(4)利用virtualenv 建立3.5.3 python 环境
Pyenv virtualenv 3.5.3 env353
(5)切换到pyenv 虚拟环境
Pyenv activate env353
(6)离开环境,切换回系统环境
Pyenv deactivate
(7)删除虚拟环境
Pyenv virtualenv-delete env353