Python虚拟环境Virtualenv使⽤教程
virtualenv⽤于创建独⽴的Python环境,多个Python相互独⽴,互不影响,它能够:
1. 在没有权限的情况下安装新套件
2. 不同应⽤可以使⽤不同的套件版本
3. 套件升级不影响其他应⽤
安装
复制代码代码如下:
sudo apt-get install python-virtualenv
使⽤⽅法
[code]
virtualenv [虚拟环境名称]
移动端响应式布局
如,创建**ENV**的虚拟环境
复制代码代码如下:
virtualenv ENV
默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三⽅package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数 --no-site-packages建⽴虚拟环境
复制代码代码如下:
virtualenv --no-site-packages [虚拟环境名称]
启动虚拟环境
复制代码代码如下:
cd ENV
source ./bin/activate
注意此时命令⾏会多⼀个(ENV),ENV为虚拟环境名称,接下来所有模块都只会安装到该⽬录中去。
退出虚拟环境
复制代码代码如下:
deactivate
在虚拟环境安装Python套件
Virtualenv 附带有pip安装⼯具,因此需要安装的套件可以直接运⾏:
复制代码代码如下:
pip install [套件名称]
如果没有启动虚拟环境,系统也安装了pip⼯具,那么套件将被安装在系统环境中,为了避免发⽣此事,可以在~/.bashrc⽂件中加上:
instruments的音标复制代码代码如下:
export PIP_REQUIRE_VIRTUALENV=true
或者让在执⾏pip的时候让系统⾃动开启虚拟环境:
复制代码代码如下:
export PIP_RESPECT_VIRTUALENV=true
Virtualenvwrapper
Virtaulenvwrapper是virtualenv的扩展包,⽤于更⽅便管理虚拟环境,它可以做:
1. 将所有虚拟环境整合在⼀个⽬录下
2. 管理(新增,删除,复制)虚拟环境
3. 切换虚拟环境
4. ...
安装
复制代码代码如下:
sudo easy_install virtualenvwrapper
此时还不能使⽤virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下⾯,实际上你需要运⾏virtualenvwrapper.sh ⽂件才⾏,先别急,打开这个⽂件看看,⾥⾯有安装步骤,我们照着操作把环境设置好。
创建⽬录⽤来存放虚拟环境
复制代码代码如下:
mkdir $HOME/.virtualenvs
在~/.bashrc中添加⾏: export WORKON_HOME=$HOME/.virtualenvs
在~/.bashrc中添加⾏:source /usr/local/bin/virtualenvwrapper.sh
运⾏: source ~/.bashrc
此时virtualenvwrapper就可以使⽤了。
列出虚拟环境列表
复制代码代码如下:
workon
也可以使⽤
复制代码代码如下:
lsvirtualenv
新建虚拟环境
复制代码代码如下:
mkvirtualenv [虚拟环境名称]
启动/切换虚拟环境
复制代码代码如下:
workon [虚拟环境名称]
删除虚拟环境
复制代码代码如下:
rmvirtualenv [虚拟环境名称]
离开虚拟环境
复制代码代码如下:
deactivate
------------------------------------------------------------------------------------------------------------------------------------------------------------virtualenv通过创建独⽴Python开发环境的⼯具, 来解决依赖、版本以及间接权限
问题. ⽐如⼀个项⽬依赖Django1.3 ⽽当前全局开发环境为Django1.7, 版本跨度过⼤, 导致不兼容使项⽬⽆法正在运⾏, 使⽤virtualenv可以解决这些问题.
virtualenv创建⼀个拥有⾃⼰安装⽬录的环境, 这个环境不与其他虚拟环境共享库, 能够⽅便的管理python版本和管理python库1. 安装Virtualenv
使⽤pip安装Virtualenv, 使⽤过python的都应该知道pip包管理神器吧, 即使不知道, ⽹站也有⼤把的教程, 不过推荐查看官⽅复制代码代码如下:
$ pip install virtualenv
//或者由于权限问题使⽤sudo临时提升权限
$ sudo pip install virtualenv
2. virtualenv基本使⽤
现在开始使⽤virtualenv管理python环境
复制代码代码如下:
➜  Test git:(master) ✗ virtualenv ENV  #创建⼀个名为ENV的⽬录, 并且安装了ENV/bin/python, 创建了lib,include,bin⽬录,安装了pip
New python executable in
Installing setuptools, done.
➜  Test git:(master) ✗ cd ENV
➜  ENV git:(master) ✗ ll
drwxr-xr-x  14 andrew_liu  staff  476 12  8 08:49 bin
drwxr-xr-x  3 andrew_liu  staff  102 12  8 08:49 include
drwxr-xr-x  3 andrew_liu  staff  102 12  8 08:49 lib
lib,所有安装的python库都会放在这个⽬录中的lib/pythonx.x/site-packages/下
bin,bin/python是在当前环境是使⽤的python解释器
如果在命令⾏中运⾏virtualenv --system-site-packages ENV, 会继承/usr/lib/python2.7/site-packages下的所有库, 最新版本virtualenv把把访问全局site-packages作为默认⾏为
default behavior.
2.1. 激活virtualenv
16进制解码复制代码代码如下:
#ENV⽬录下使⽤如下命令
➜  ENV git:(master) ✗ source ./bin/activate  #激活当前virtualenv
(ENV)➜  ENV git:(master) ✗ #注意终端发⽣了变化
复制代码代码如下:
#使⽤pip查看当前库
(ENV)➜  ENV git:(master) ✗ pip list
pip (1.5.6)
setuptools (3.6)
wsgiref (0.1.2) #发现在只有这三个
pip freeze  #显⽰所有依赖
pip freeze >   #⽣成⽂件
pip install -  #根据⽣成相同的环境
2.2. 关闭virtualenv
使⽤下⾯命令
复制代码代码如下:
$ deactivate
2.3. 指定python版本
可以使⽤-p PYTHON_EXE选项在创建虚拟环境的时候指定python版本
复制代码代码如下:
#创建python2.7虚拟环境
➜  Test git:(master) ✗ virtualenv -p /usr/bin/python2.7 ENV2.7
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in ENV2.7/bin/python
Installing setuptools, done.
复制代码代码如下:
#创建python3.4虚拟环境
➜  Test git:(master) ✗ virtualenv -p /usr/local/bin/python3.4 ENV3.4
Running virtualenv with interpreter /usr/local/bin/python3.4
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.4'
New python executable in ENV3.4/bin/python3.4
Also creating executable in ENV3.4/bin/python
Installing setuptools, done.
gateone品牌中文到此已经可以解决python版本冲突问题和python库不同版本的问题pycharm python安装教程
3. 其他
3.1. ⽣成可打包环境
源码破解某些特殊需求下,可能没有⽹络, 我们期望直接打包⼀个ENV, 可以解压后直接使⽤, 这时候可以使⽤virtualenv -relocatable指令将ENV修改为可更改位置的ENV
复制代码代码如下:
#对当前已经创建的虚拟环境更改为可迁移
➜  ENV3.4 git:(master) ✗ virtualenv --relocatable ./
Making script ./bin/easy_install relative
Making script ./bin/easy_install-3.4 relative
Making script ./bin/pip relative
Making script ./bin/pip3 relative
Making script ./bin/pip3.4 relative
3.2. 获得帮助
复制代码代码如下:
$ virtualenv -h
当前的ENV都被修改为相对路径, 可以打包当前⽬录, 上传到其他位置使⽤
这并不能使虚拟环境跨平台使⽤

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。