博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux下virtualenv与virtualenvwrapper详解
阅读量:5133 次
发布时间:2019-06-13

本文共 2078 字,大约阅读时间需要 6 分钟。

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 venv2 workon还可以任意在多个虚拟环境中跳转 3. 删除虚拟环境 rmvirtualenv venv2  # 要先退出当前环境

 

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

你可能感兴趣的文章
04-树6 Complete Binary Search Tree(30 分)
查看>>
html5离线缓存使用
查看>>
linux下彻底卸载mysql 图解教程
查看>>
grep, sed 和 awk 学习总结
查看>>
Django引入静态文件
查看>>
UVA1276 Network
查看>>
安卓手势
查看>>
【Java并发编程一】线程安全问题
查看>>
jstl标签库基础教程及其使用代码
查看>>
中期蒙混过关,后期要早点起步4.13-4.19
查看>>
redisson笔记
查看>>
less 使用小结!笔记!
查看>>
安装阿里Java代码规约插件
查看>>
c语言运算优先级与结合方向的问题
查看>>
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "FileSize"
查看>>
html常用标签总结
查看>>
VMware ESXi 虚拟机硬盘格式:精简置备、厚置备延迟置零、厚置备置零
查看>>
洛谷 P2764(最小路径覆盖=节点数-最大匹配)
查看>>
iphone safari不支持position fixed的解决办法
查看>>
Mysql err 1055
查看>>