virtualenv

在使用Python开发的过程中,工程一多,难免会碰到不同的工程依赖不同的版本的库的问题;

或者是不想让物理环境中充斥着各种各样的库,引发未来的依赖灾难.

因此,我们需要对不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁.

这里,就要隆重介绍 virtualenv,一个可以帮助我们管理不同python环境的绝好工具.

virtualenv 可以在系统中建立多个不同并且互不干扰的虚拟环境

一、Linux下安装、配置virtualenv

#指定清华源下载pip的包
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

二,创建独立运行环境

virtualenv --no-site-packages --python=python3 虚拟环境名称venv1
# --no-site-packages  保证虚拟环境没有任何的第三方包# --python=python3  指定解释器是python3

三, 激活虚拟环境

source /opt/venv1/bin/activate

四, 安装Django

pip3 install django==版本

五, 退出当前虚拟环境

deactivate

virtualenv创建独立的Python运行环境就结束了,

原理很简单,就是把Python系统复制一份到virtualenv的环境,

用命令 source /opt/venv1/bin/activate 进入到一个virtualenv环境时,

virtualenv会修改相关环境变量,让命令python和pip指向当前的virtualenv环境

(env1) [root@localhost ~]# echo $PATH
/root/Envs/env1/bin:/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

注意: 确保开发环境的一致性

1. 假设,我们在本地开发环境,准备好了项目和依赖环境

2. 现在需要将项目上传至服务器,上线发布

3. 那么,就要保证服务器的python环境一致性

解决方案:1. 导出当前python环境的包pip3 freeze > requirements.txt# 创建一个 requirements.txt 文件,包含了当前环境中的所有包及各自的版本

2.将requirements.txt上传到服务器,进去虚拟环境pip3 install -r requirements.txt

virtualenvwrapper

virtualenv 的一个最大的缺点是:

每次开启虚拟环境都需要在虚拟环境所在的目录下 source /opt/名称/bin/activate,这就需要我们记住每一个虚拟环境所在的目录.

但我们不可能记住每一个虚拟环境放在哪里.

virtualenvwrapper 就提供了统一管理虚拟环境的目录,并且省去了source的步骤.

安装和配置virtualenvwrapper

1. 安装pip3 install virtualenvwrapper

2. 设置linux的环境变量,每次启动就加载virtualenvwrapper
  # 打开个人用户配置文件  vim ~/.bashrc

  # 回到最底行,写入以下四行代码,保证路径和自己的机器一样

    export WORKON_HOME=~/Envs/  #设置virtualenv的统一管理目录,名字自己定义
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   #添加virtualenvwrapper的参数,生成干净隔绝的环境
    export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3   #指定python3本体解释器
    source /opt/python36/bin/virtualenvwrapper.sh   #执行virtualenvwrapper安装脚本

  #保存退出,退出当前会话,重新登录  logout    

mkvirtualenv的使用

1. 创建一个虚拟环境:mkvirtualenv venv2

2. 激活虚拟环境workon venv2

#virtualenvwrapper 提供环境名字的tab补全功能[root@localhost ~]# workon venv2workon还可以任意在多个虚拟环境中跳转

3. 删除虚拟环境rmvirtualenv venv2  # 要先退出当前环境

转载于:https://www.cnblogs.com/yaraning/p/10492038.html

Linux下virtualenv与virtualenvwrapper详解相关推荐

  1. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

  2. Linux下的awk用法详解

    Linux下的awk用法详解 一.awk介绍 二.awk的语法 三.awk常见用法 四.awk其他用法 五.awk语言特性 一.awk介绍 1.AWK 是一种处理文本文件的语言,是一个强大的文本分析工 ...

  3. linux输入一个用户看是否在工作,linux下的用户管理详解

    linux下的用户管理详解 useradd 命令详解 添加用户 想要对linux下面的帐号了解的话首先必须要了解的4个配置文件[root@localhost /]# cat /etc/passwd 首 ...

  4. Linux下find命令用法详解

    Linux下find命令用法详解 学神VIP烟火 学神IT教育:XueGod-IT 最负责任的线上直播教育平台 本文作者为VIP学员 烟火 第一部分:根据文件名查找 1.在当前目录查找名称为test的 ...

  5. linux中which命令详解,Linux下which命令使用详解(转)

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. f ...

  6. linux下测试ftp传输,linux下ftp命令使用详解---linux文件传输ftp命令

    linux下ftp命令使用详解---linux文件传输ftp命令 上一篇 / 下一篇  2010-12-18 09:15:35 / 个人分类:Linux ftp(file transfer proto ...

  7. rm命令linux00,linux下rm命令使用详解 | Soo Smart!

    linux下rm命令使用详解---linux删除文件或目录命令 用户可以用rm命令删除不需要的文件.该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除 ...

  8. linux下top命令参数详解

    linux下top命令参数详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. 内存信息.内容如下: ...

  9. Linux下文件查找使用详解-羽飞作品

    Linux下文件查找使用详解 (1/3) http://www.boobooke.com/v/bbk1579 Linux下文件查找使用详解 (2/3) http://www.boobooke.com/ ...

最新文章

  1. LEADTOOLS HTML5/JavaScript 实现客户端图像处理
  2. MVC防止CSRF攻击
  3. python替换缺失值_python 缺失值处理(Imputation)
  4. 给vmstat加上时间戳
  5. 盲人如何学计算机编程,盲人程序员是如何编程的?
  6. fedora 33 topbar_31省区市新增确诊33例,天津新增本地确诊1例
  7. [有问有答] 如何用邮件安全地传递密码
  8. 如何以用户身份登录MySQL_解析:如何以普通用户的身份运行 MySQL
  9. [转载]高效程序员应该养成的七个习惯
  10. 使用MySQL管理工具-SQLyog9.63报错号码2003,超详细解析
  11. html+css实现淘宝右侧固定定位导航
  12. 使用Adobe Acrobat DC将一个多页pdf拆分为多个固定页数的pdf
  13. Debug调试报错解决方案
  14. Akka 指南 之「Actors」
  15. 大型网站建设方案(学院网站建设方案)
  16. java实现猴子排序_java实现猴子排序(BogoSort)
  17. 计算机学院李成伟,河南科技学院校长李成伟一行看望慰问我院招生录取工作人员...
  18. 使用C加加实现计算器功能。可以实现加减乘除。需要用到内联。函数重载。new运算符。缺省参数
  19. HC32L130基于Xmodem协议实现IAP串口在线升级
  20. 倒角距离(Chamfer distance)

热门文章

  1. java hashset 源码_Java集合:HashSet的源码分析
  2. html5的所有标签页,HTML5所有标签总集
  3. LVM逻辑卷分区笔记
  4. mysql热备工具innobackupex参数详解
  5. LeetCode-185 : sql分组排序再取前几位
  6. ContentServer迁移的几个步骤
  7. 实战MHDD检测硬盘
  8. 保护你的眼睛,把电脑屏幕由白色改为淡绿
  9. Kubernetes的client-go库介绍
  10. C#正则表达式——网游角色起名仅允许汉字、字母、数字、底划线