Python虚拟环境安装
一、背景
由于python2.x和3.x存在着一定的差异,所以在开发环境中经常需要采用不同的版本来开发,但是Centos6系统自带的python是2.6的,Centos7自带的python是2.7的
如果在同一个系统上安装不同的版本可能会出现问题,所以,我们引入了python的版本隔离工具pyenv。他可以在系统上安装不同的python版本,而不影响系统的使用。
但是不同的应用可能需要不同的python开发,为此pyenv提供了一个插件virtualenv,这个可以实现项目的隔离。
总结:
pyenv实现python版本的隔离
virtualenv实现项目的隔离
pyenv就是一个本地的git仓库,他的使用依赖git
二、pyenv的安装及使用
1、准备安装环境
系统环境:Centos6.9
安装依赖:git gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
yum install git -y
yum -y install curl gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
需要连接网络
2、创建用户并下载pyenv安装脚本
创建用户:
useradd python
使用python用户登陆下载pyenv脚本并执行:
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer |bash
或者直接将这个脚本下载到本地直接执行
在python用户的.bash_profile文件中添加如下内容:
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
source .bash_profile
pyenv install 命令:
pyenv install -l/--list :列出所有可以安装的版本
pyenv help install:显示帮助信息
pyenv install -v/--version:显示安装过程
pyenv install python版本:暗转指定的python版本
例如:安装3.5.3版本
pyenv install 3.5.3
由于pyenv安装需要联网来下载安装包,所以速度比较慢,我们也可以将安装包下载下来放到.pyenv的cache目录下
如果没有可以创建
安装完成后的操作:
pyenv versions列出已经安装的python版本,及当前使用的版本
pyenv切换版本的方式:
global:将指定的版本设置为当前用户的默认版本,注意:如果是root安装的千万不可使用global,否则整个系统的python版本都会改变
local:将当前的工作目录及其子目录的版本设置为指定的版本
shell:将当前的shell环境(会话)设置为某个指定的版本,如果这个会话断开,这个版本设置失效
例如:
pyenv local 3.5.3
pyenv global 3.5.3
pyenv shell 3.5.3
三、virtualenv实现项目的隔离
工具的默认存在路径:~/.pyenv/plugins/pyenv-virtualenv
虚拟环境的存放目录:~/.pyenv/versions
1、创建虚拟环境
格式:pyenv virtualenv 版本 虚拟环境名
例如:
cd /home/python/work/Web #进入项目目录
pyenv virtualenv 3.5.3 Web #给这个目录创建虚拟环境
2、切换虚拟环境
cd /home/python/work/Web
pyenv local 3.5.3/envs/test #先把这个目录和版本绑定
cd /home/python/work/Web #进入这个目录就是进入这个虚拟环境,出了这个目录就是出虚拟环境