【Python】virtualenv管理Python虚拟环境
来源:互联网 发布:大卫芬奇电影知乎 编辑:程序博客网 时间:2024/05/16 09:53
安装virtualenv
如果是Mac OS X
或者Linux
$ sudo pip install virtualenv
如果是Ubuntu
$ sudo apt-get install python-virtualenv
基本使用
假定我们要开发一个新的项目,需要一套独立的Python运行环境
创建目录
$ mkdir myproject$ cd myproject/
创建环境
创建一个独立的Python运行环境,命名为
venv
$ virtualenv --python=python3.5 --no-site-packages venvRunning virtualenv with interpreter /usr/bin/python3.5Using base prefix '/usr'New python executable in /home/widiot/flask-workspace/venv/bin/python3.5Also creating executable in /home/widiot/flask-workspace/venv/bin/pythonInstalling setuptools, pkg_resources, pip, wheel...done.
--python=
参数指定要创建的环境中的Python版本--no-site-packages
参数不会复制已经安装到系统Python环境中的所有第三方包启动环境
新建的Python环境被放到当前目录下的
venv/
目录。可以用source
启动该环境$ source venv/bin/activate(venv) myproject $
注意到命令提示符变了,有个
(venv)
前缀,表示当前环境是一个名为venv
的Python环境安装第三方包
下面正常安装各种第三方包
(venv) myproject $ pip install jinja2...Successfully installed jinja2-2.7.3 markupsafe-0.23(venv) myproject $ python myapp.py...
在
venv
环境下,用pip
安装的包都被安装到venv
这个环境下,系统Python环境不受任何影响。也就是说,venv
环境是专门针对myproject这个应用创建的退出环境
退出当前的
venv
环境,使用deactivate
命令(venv) myproject $ deactivatemyproject $
此时就回到了正常的环境,现在
pip
或python
均是在系统Python环境下执行完全可以针对每个应用创建独立的Python运行环境,这样就可以对每个应用的Python环境进行隔离
生成可打包环境
如果需要打包一个ENV, 可以解压后直接使用, 这时候可以使用
virtualenv -relocatable
指令将ENV修改为可更改位置的ENVvenv $ virtualenv --relocatable ./Making script ./bin/easy_install relativeMaking script ./bin/easy_install-3.4 relativeMaking script ./bin/pip relativeMaking script ./bin/pip3 relativeMaking script ./bin/pip3.4 relative
当前的ENV都被修改为相对路径, 可以打包当前目录, 到其他位置使用
原理
virtualenv
是如何创建“独立”的Python运行环境的呢?
原理很简单,就是把系统的Python复制一份到virtualenv
的环境
用命令source venv/bin/activate
进入一个virtualenv
环境时,virtualenv
会修改相关环境变量,让命令python
和pip
均指向当前的virtualenv环境
- 【Python】virtualenv管理Python虚拟环境
- python虚拟环境-virtualenv
- python虚拟环境-virtualenv
- Python 虚拟环境:Virtualenv
- Python 虚拟环境:Virtualenv
- python 虚拟环境 Virtualenv
- Python 虚拟环境:Virtualenv
- Python虚拟环境virtualenv
- Python 虚拟环境:Virtualenv
- Python 虚拟环境:virtualenv
- Python 虚拟环境:Virtualenv
- Python 虚拟环境:Virtualenv
- Python 虚拟环境:Virtualenv
- Python 虚拟环境:Virtualenv
- Python虚拟环境Virtualenv
- Python虚拟环境(Virtualenv)
- Python 虚拟环境:Virtualenv
- Python 虚拟环境:Virtualenv
- Android移动开发-使用OkHttp读取网络资源的实现
- 标准表达式中数据类型不匹配(Access)
- 百度地图api批量转换坐标
- 工具类
- 第一次开通博客
- 【Python】virtualenv管理Python虚拟环境
- 更新
- 编译Qt4.8.5源码
- AForge Video
- Recursive sequence
- 【Java开发】使用Semaphore控制资源访问并发量
- 659. Split Array into Consecutive Subsequences
- UnityShader初级篇——实现逐顶点高光反射光照模型
- HDPCD-Java-复习笔记(11)