本文介绍如何利用pyenv 和virtualenv 在单机上搭建多版本python 虚拟开发环境。
pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。
virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。
举例说明。
首先我们可以用pyenv 安装多个python 版本, 比如安装了2.5, 2.6, 3.3 三个版本。 用户可以随意切换当前默认的python版本。 但这时候, 每个版本的环境仍是唯一的, 如果我们想在环境中安装一些库的话, 还是会导致这个版本的环境被修改。 这个时候, 如果我们用virtual env去建立虚拟环境, 就可以完全保证系统路径的干净。无论你在虚拟环境中安装了什么程序, 都不会影响已安装版本的系统环境。
pyenv配置
- 安装git
yum -y install git
</br> - 安装编译工具
yum -y install gcc make patch
</br> - 安装依赖
yum -y install gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
</br> - 安装pyenv
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
</br> - 配置环境变量, 在 .~/.bashrc里增加如下内容
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
source ~./bashrc # 让当前环境变量生效
pyenv 使用
安装某个版本的
python pyenv install --list
# 列出当前可以安装的python版本pyenv install 3.5.2
# 代表安装此版本python
</br>卸载某个版本的
python pyenv uninstall 3.5.2
</br>查看当前的版本
pyenv versions
# 当前python的使用的版本,system表示当前系统版本的信息pyenv version
# 当前python激活的版本路径信息
</br>全局的python版本切换
pyenv global 2.7.1
# 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
</br>本地的python版本
pyenv local 2.7.3
# 设置面向程序的本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。若找不到,就用 global 版本。
</br>卸载某个版本的python
pyenv uninstall 3.5.2
</br>pyenv版本信息目录
ls -l ~/.pyenv/versions
实质上是在此目录下相关信息以及路径。ls .pyenv/cache/Python-3.5.2.tar.gz
如果pip安装python版本包太慢,可以将下载的包放到此目录则会从cache目录安装文件. 下面是compy老师提供的下载链接执行命令就可以将python包下载到对应位置了wget -c http://7d9qvq.com1.z0.glb.clouddn.com/Python-3.5.2.tgz -O ~/.pyenv/cache/Python-3.5.2.tar.gz
virutualenv 创建虚拟环境
- virtualenv 以插件的形式集成在pyenv当中,直接使用就行
</br> - 创建一个pyenv的3.5.2的虚拟环境,这个环境的真实目录位于:~/.pyenv/versions
pyenv virtualenv 3.5.2 pyenvtest
pyenv versions # 查看当前的虚拟环境,多出了一个pyenvtest的虚拟环境
</br> - 切换到新的python虚拟环境
mkdir pyevn35
,pyenv local pyenvtest
,进入pyenv35目录自动切换到pyenvtest 虚拟环境 退出pyevn35 自动关闭pyenvtest 虚拟环境
</br> - 删除此虚拟环境
pyenv uninstall pyenvtest
pip 配置使用国内镜像
- 创建目录
mkdir ~/.pip
-
编辑 ~/.pip/pip.conf, 输入一下内容
[global] index-url = http://mirrors.aliyun.com/pypi/simple/ trusted-host = mirrors.aliyun.com
安装 jupyter
pip install jupyter
- 使用
jupyter notebook --ip = 0.0.0.0 --port = 8889
启动jupyter 浏览器打开http://ip:8889