使用virtualenv创建独立的Python环境
2016-08-27 14:32
666 查看
为什么要使用virtualenv?
virtualenv是 python的沙盒环境,主要解决以下问题:
隔离项目之间的第三方包依赖,如A项目依赖scrapy1.x+高版本(支持python3),B项目依赖scrapy低版本,有些项目还有对django版本的要求等。
为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻
准备条件
安装devtoolset# yum groupinstall “Development tools”
安装编译Python需要的包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel
安装多版本python
centos默认安装了python2.6,实际开发要使用python2.7.x和python3.3+安装python2.7.5
# wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2 # tar jxvf Python-2.7.5.tar.bz2 # cd Python-2.7.5 # ./configure --prefix=/usr/local/python2.7.5 # make && make altinstall
设置软链接:
ln -s /usr/local/python2.7.5/bin/python /usr/bin/python2.7
查看是否安装成功:
# python2.7 -V Python 2.7.5
安装python3.5.0
# wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz # tar -zxvf Python-3.5.0.tgz # cd Python-3.5.0 # ./configure --prefix=/usr/local/python3.5.0 # make&&make install
安装成功后,默认也安装了pip:
设置软链接:
# ln -s /usr/local/python3.5.0/bin/python3.5 /usr/bin/python3.5 # ln -s /usr/local/python3.5.0/bin/pip3.5 /usr/bin/pip
查看是否安装成功:
# python3.5 -V Python 3.5.0 # pip -V pip 7.1.2 from /usr/local/python3.5.0/lib/python3.5/site-packages (python 3.5)
使用virtualenv
安装 virtualenv
# pip install virtualenv
设置软链接:
ln -s /usr/local/python3.5.0/bin/virtualenv /usr/bin/virtualenv
创建虚拟环境:
语法:virtualenv [OPTIONS] DEST_DIR
常用[OPTIONS]选项:
–no-site-packages :令隔离环境不能访问系统全局的site-packages目录(默认)。
–system-site-packages :令隔离环境可以访问系统全局的site-packages目录
–python:指定使用的python解释器位置,使用指定的解释器创建新的隔离环境,默认使用的是当前系统安装(/usr/bin/python)的python解析器。
DEST_DIR:虚拟环境所在目录
# virtualenv --python=/usr/bin/python2.7 --no-site-packages /root/py_vienv/
安装过程:
如上图所示,virtualenv在创建虚拟环境的时候默认安装了pip
启动虚拟环境
# cd py_vienv # source ./bin/activate
此时虚拟环境已经启动完成,注意此时命令行会多一个(ENV),ENV为虚拟环境名称,接下来所有模块都只会安装到该目录中去:
退出虚拟环境
# deactivate
使用virtualenvwrapper
virtualenvwrapper是virtualenv的扩展工具,可以将所有虚拟环境整合在一个目录下,可以方便的创建、删除、复制、切换不同的虚拟环境安装virtualenvwrapper
# pip install virtualenvwrapper
需要进行一些设置,virtualenvwrapper 才能使用
# mkdir $HOME/.virtualenvs
vi ~/.bashrc,新增如下两行
# 设置virtualenv工作目录. 设置放在用户跟目录下 export WORKON_HOME=$HOME/.virtualenvs export PIP_VIRTUALENV_BASE=$WORKON_HOME #设置每一个虚拟环境都使用单独的库文件 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #使用的python解释器位置 VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.5 #virtualenvwrapper脚本位置 source /usr/local/python3.5.0/bin/virtualenvwrapper.sh
运行:
# source ~/.bashrc
此时virtualenvwrapper 就可以使用了
创建虚拟环境
# mkvirtualenv [OPTIONS] 自定义虚拟环境名称 # mkvirtualenv [OPTIONS] 自定义虚拟环境名称
注:[OPTIONS]选项可以使用上面virtualenv所支持的选项
例如:
创建python2.7的环境
# mkvirtualenv --python=/usr/bin/python2.7 python2.7-env01
创建完成后会自动进入所创建的环境当中:
安装scrapy:
# pip install Scrapy==1.0.0
查看可使用的虚拟环境
# workon [虚拟环境名称]
切换虚拟环境
语法:workon [虚拟环境名称]查看虚拟环境里安装了哪些包
(env01) [root@vagrant-centos65 .virtualenvs]# lssitepackages
进入虚拟环境的目录
语法:cdvirtualenv [子目录](env02) [root@vagrant-centos65 /]# cdvirtualenv / (env02) [root@vagrant-centos65 env02]# pwd /root/.virtualenvs/env02
进入包目录
语法:cdsitepackages
(env02) [root@vagrant-centos65 env02]# cdsitepackages (env02) [root@vagrant-centos65 site-packages]# pwd /root/.virtualenvs/env02/lib/python2.7/site-packages (env02) [root@vagrant-centos65 site-packages]# cdsitepackages pip (env02) [root@vagrant-centos65 pip]# pwd /root/.virtualenvs/env02/lib/python2.7/site-packages/pip
复制虚拟环境
语法:cpvirtualenv [source] [dest][root@vagrant-centos65 .virtualenvs]# cpvirtualenv env02 env03 Copying env02 as env03... (env03) [root@vagrant-centos65 .virtualenvs]# workon env01 env02 env03
删除虚拟环境
语法:rmvirtualenv [虚拟环境名称][root@vagrant-centos65 .virtualenvs]# rmvirtualenv env03 Removing env03... [root@vagrant-centos65 .virtualenvs]# workon env01 env02
相关文章推荐
- Windows中安装使用Virtualenv来创建独立Python环境
- Windows中安装使用Virtualenv来创建独立Python环境
- Windows中安装使用Virtualenv来创建独立Python环境
- 阿里云centos7.3下 python3.6 使用 virtualenv 创建独立的虚拟环境
- Windows中安装使用Virtualenv来创建独立Python环境
- Windows下使用Virtualenv创建独立的Python开发环境
- 使用virtualenv创建虚拟python环境
- 使用virtualenv或virtualenvwrapper搭建独立的python开发环境
- 使用virtualenv搭建独立的Python环境
- 使用virtualenv创建虚拟python环境
- 使用virtualenv创建虚拟python环境
- 使用virtualenv搭建独立的Python环境
- 使用virtualenv创建虚拟python环境
- 使用virtualenv创建虚拟python环境
- Python virtualenv 使用国内pip/easy_install创建虚拟环境
- CentOS使用virtualenv搭建独立的Python环境-python虚拟环境
- 使用virtualenv创建虚拟python环境
- 使用virtualenv创建虚拟python环境 | the5fire的技术博客
- 使用virtualenv创建虚拟python环境
- ubuntu上使用virtualenv建立多个python独立开发环境