一、安装

运行

pip install virtualenv

即可安装virtualenv,想用 最新开发版 就运行

二、 virtualenv基本使用

$ python virtualenv.py env

在已安装virtualenv的情况下,可以直接运行 virtualenv env 。

该操作会创建 env/lib/pythonX.X/site-packages 目录 和 env/bin/python , 前者用来存放要安装的模块,后者就是隔离环境的Python解释器。 在virtualenv环境下使用此解释器(包括以 #!/path/to/ENV/bin/python 开头的脚本)时,使用的都是隔离环境下的模块。 
该操作还在隔离环境下安装了 Setuptools 或 distribute 。要用Distribue取代setuptools的话,只要运行:

$ python virtualenv.py --distribute env

选项:

--version显示当前版本号。

-h, --help显示帮助信息。

-v, --verbose显示详细信息。

-q, --quiet不显示详细信息。

-p PYTHON_EXE, --python=PYTHON_EXE指定所用的python解析器的版本,比如 --python=python2.5 就使用2.5版本的解析器创建新的隔离环境。 默认使用的是当前系统安装(/usr/bin/python)的python解析器

--clear清空非root用户的安装,并重头开始创建隔离环境。

--no-site-packages令隔离环境不能访问系统全局的site-packages目录。

--system-site-packages令隔离环境可以访问系统全局的site-packages目录。

--unzip-setuptools安装时解压Setuptools或Distribute

--relocatable重定位某个已存在的隔离环境。使用该选项将修正脚本并令所有.pth文件使用相当路径。

--distribute使用Distribute代替Setuptools,也可设置环境变量VIRTUALENV_DISTRIBUTE达到同样效要。

--extra-search-dir=SEARCH_DIRS用于查找setuptools/distribute/pip发布包的目录。可以添加任意数量的–extra-search-dir路径。

--never-download禁止从网上下载任何数据。此时,如果在本地搜索发布包失败,virtualenv就会报错。

--prompt==PROMPT定义隔离环境的命令行前缀。

环境变量和配置文件

三、激活脚本

刚创建的隔离环境下会有一个 bin/activate 命令行脚本。在Windows下,激活脚本要在CMD.exe或Powershell.exe中使用。

$ source bin/activate

注意到命令提示符变了,有个(env)前缀,表示当前环境是一个名为env的Python环境。在env环境下,用pip安装的包都被安装到env这个环境下,系统Python环境不受任何影响。也就是说,env环境是专门针对myproject这个应用创建的。 
退出当前的venv环境,使用deactivate命令;

四、虚拟环境复制迁移,即将虚拟环境拷贝到其他服务器上 直接使用

Virtualenv ----relocatable env

压缩生成的env文件夹:

tar -zcvf venv.tar.gz ./env

然后拷贝迁移至其他服务器下进行解压: 
进入./env/bin/下修改activate文件中参数:

VIRTUAL_ENV="/home/env"export VIRTUAL_ENV

将上述VIRTUAL_ENV修改为当前env文件夹正确的路径,然后执行:

source activate

然后执行:

which python

或者

which pip

查看是否是虚拟env路径下的工具,如果是的话,则成功。

参考文章:

https://blog.csdn.net/poxiaonie/article/details/78820015

pip的安装:https://www.cnblogs.com/mangoVic/p/6428369.html

env的安装:https://www.cnblogs.com/freely/p/8022923.html

pythonenv的安装及迁移的更多相关文章

  1. svn服务端安装、迁移教程、Eclipse切换svn连接库

    svn服务端安装.迁移教程.Eclipse切换svn连接库 安装教程 1.下载svn服务端安装程序 2.运行程序,安装 这里端口号根据自己定义,避免与其他程序冲突 到这里就安装完成 迁移教程 这里举例 ...

  2. docker+gitlab的安装和迁移

     docker+gitlab的安装 docker search gitlab docker pull docker.io/gitlab/gitlab-ce docker run --name=: -- ...

  3. gitlab 源码安装=》rpm安装横向迁移(version 9.0)

    准备: 下载版本地址: https://packages.gitlab.com/gitlab/gitlab-ce 迁移环境: 源码安装的gitlab9.0.13 目标迁移至9.0.13 RPM安装的环 ...

  4. Nexus安装与迁移

    Maven registry(maven私有仓库) 配置Java export JAVA_HOME=/software/jdk1.7.0_79 export JRE_HOME=${JAVA_HOME} ...

  5. svn迁移到git仓库并保留commit历史记录

    svn迁移到git仓库并保留commit历史记录 最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制.最简单的方式是将svn的内容export出来,然后添加到gitlab即可.但是,如 ...

  6. linux 下一个 jira-6.3.6 组态 皴 翻译 迁移数据库

    每一个版本号翻译包下载  https://translations.atlassian.com/dashboard/download jira下载地址  https://www.atlassian.c ...

  7. linux系统下手动安装Angular-cli

    安装Angular-cli 背景 由于公司linux服务器没有外网,无法通过npm包管理器直接安装,只能手动安装一个Angular-cli平台环境! 安装步骤 1. 先再linux系统下安装好node ...

  8. 超详细实战教程丨多场景解析如何迁移Rancher Server

    本文转自Rancher Labs 作者介绍 王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营.拥有6年的云计算领域经验,经历了OpenStack到Kubernetes ...

  9. 麒麟操作系统上安装docker并加载镜像

    最近需要在政务云系统中部署深度学习环境,其使用麒麟操作系统并与互联网相互隔离,无法使用常规的指令行方式进行安装.参考docker官方文档并经过多次尝试,使用离线安装的方式完成了环境的部署.这里做一下笔 ...

随机推荐

  1. Android CTS中neverallow规则生成过程

    CTS里面SELinux相关测试中neverallow测试项占绝大多数,Android系统开发者都应该知道,在修改sepolicy时,需要确保不能违反这些neverallow规则,不然会过不了CTS. ...

  2. DEVOPS技术实践_22:根据参数传入条件控制执行不同stage

    前面学习了参数的传递和调用,下面研究一下根据参数作为条件执行不同的stage 使用叫when 和expression控制某一个stage的运行, 运行场景例如写了多个stage,这个pipeline脚 ...

  3. JavaScript之DOM操作,事件操作,节点操作

    1,DOM操作 1.1  概念 所谓DOM,全称Document Object Model 文档对象模型,DOM是W3C(World Wide Web Consortuum )标准,同时也定义了访问诸 ...

  4. $HNOI2012\ $ 集合选数 状压$dp$

    \(Des\) 求对于正整数\(n\leq 1e5\),{\(1,2,3,...,n\)}的满足约束条件:"若\(x\)在该子集中,则\(2x\)和\(3x\)不在该子集中."的子 ...

  5. Firefox about:config

    about:config Pocket.enabled Pocket  启用 true 打开 false 关闭

  6. 「学习笔记」动态规划 I『初识DP』

    写在前面 注意:此文章仅供参考,如发现有误请及时告知. 更新日期:2018/3/16,2018/12/03 动态规划介绍 动态规划,简称DP(Dynamic Programming) 简介1 简介2 ...

  7. 组件与props简解

    一.创建组件 1.函数式创建 特点: 组件不能访问this对象 组件无法访问生命周期的方法 无状态组件只能访问输入的props,无副作用 function Title() { return <h ...

  8. DispatcherServlet的url-pattern尽量不要配置为"/*"

    DispatcherServlet的url-pattern尽量不要配置为"/*" 原因 当Dispatcher的url配置为"/*"时,会把tomcat的web ...

  9. IOS系统唤醒微信内置地图

    针对前一篇文章 唤醒微信内置地图 后来发现在IOS系统中运行 唤醒地图会无效的问题.因为在IOS上无法解析这俩个字符串的问题! 需要对经纬度 使用 “parseFloat()”进行转换 返回一个浮点数 ...

  10. 利用cuteftp上传并修改网站上内容

    1.下载cuteftp 2.在host中输入网址(如:219.142.121.2) 3.username中输入(如:BNULS) 4.passpord中输入:(如410teamgood) 5.端口输入 ...