Linux下virtualenv与virtualenvwrapper详解

        </h1><div class="clear"></div><div class="postBody">

1.安装虚拟环境  virtualenv

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

1.创建目录
mkdir Myproject
cd Myproject
2.创建虚拟环境-命名
virtualenv --no-site-packages --python=python3  venv    #得到独立第三方包的环境,并且指定解释器是python3
3.进入虚拟环境目录,激活虚拟环境
source Myproject/venv/bin/activate
4.安装第三方包
(venv)Myproject: pip3 install django
#此时pip的包都会安装到venv环境下,venv是针对Myproject创建的5.检查虚拟环境是否正常echo $PATH              which  pip3
6.退出venv环境命令
deactivate
7.原理解释
virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

2.虚拟环境管理工具virtualenvwrapper

virtualenv 的一个最大的缺点就是:

每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

并且还有可能你忘记了虚拟环境放在哪。。。

  • 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
  • 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。

步骤1:安装virtualenvwrapper

安装这个命令,必须得在物理解释器下,注意!!!!!pip3 install virtualenvwrapper

步骤2:设置Linux的环境变量,每次启动就加载virtualenvwrapper

把下面两行代码添加到  ~/.bashrc  文件中
打开文件
vim ~/.bashrc
写入以下两行代码
export WORKON_HOME=~/Envs             #  设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   #添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3.6     #指定python解释器
source /opt/python36/bin/virtualenvwrapper.sh             #执行virtualenvwrapper安装脚本

重新登录会话,使得这个配置生效
  logout
 ssh…

此时已经可以使用virtalenvwrapper

步骤3:基本使用virtualenvwrapper

创建一个虚拟环境:
$ mkvirtualenv my_django115
这会在 ~/Envs 中创建 my_django115 文件夹。

在虚拟环境上工作:激活虚拟环境my_django115
$ workon my_django115

再创建一个新的虚拟环境
$ mkvirtualenv my_django2

virtualenvwrapper 提供环境名字的tab补全功能。
当有很多环境, 并且很难记住它们的名字时,这就显得很有用。

workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
workon django1.15
workon django2.0

也可以手动停止虚拟环境
deactivate

删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115

步骤四:常用其他命令

lsvirtualenv
列举所有的环境。
cdvirtualenv
导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
cdsitepackages
和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages
显示 site-packages 目录中的内容。

完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

意外:

  若是虚拟环境生成后,echo $PATH、which  pip3 发现虚拟环境不正常,检查 ~/.bashrc 文件正常后,修改下path的配置

echo $PATH
将python3放在最前面
[root@localhost ~]# echo $PATH
/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

分类: Linux
<div id="blog_post_info">
好文要顶 关注我 收藏该文

小小猎魔人
关注 - 13
粉丝 - 2

+加关注
0
0
<div class="clear"></div>
<div id="post_next_prev"></div>
posted @ 2018-12-29 11:44  小小猎魔人  阅读(74)  评论(0)  编辑  收藏
</div>

linux 虚拟环境相关推荐

  1. VirtualBox+Vagrant快速搭建linux虚拟环境

    VirtualBox+Vagrant快速搭建linux虚拟环境 1.下载安装VirtualBox 下载 Virtual Box 官网: https://www.virtualbox.org/ 2.BI ...

  2. linux查看python解释器位置——及linux虚拟环境中的python解释器位置

    仅作为记录,大佬请跳过. 参考:传送门 -------------------- linux虚拟环境中的python解释器位置 import sys sys.executable

  3. linux虚拟环境tmux,关于在Linux系统中如何把tmux和vim打造成IDE的讲解

    不经意间我们又来到了Linux系统文章的学习,在众多学习中,我们的文章也许不起眼,但是想必大家都有很多问题吧,所以重要的下面我们就来讲解一下,大家一定要认真看奥!! 在Linux系统中tmux 和 v ...

  4. 《Android深度探索(卷1):HAL与驱动开发》——6.4节使用多种方式测试Linux驱动...

    本节书摘来自异步社区<Android深度探索(卷1):HAL与驱动开发>一书中的第6章,第6.4节使用多种方式测试Linux驱动,作者李宁,更多章节内容可以访问云栖社区"异步社区 ...

  5. 操作系统课设之Linux 进程管理

    前言 课程设计开始了,实验很有意思,写博客总结学到的知识 白嫖容易,创作不易,学到东西才是真 本文原创,创作不易,转载请注明!!! 本文链接 个人博客:https://ronglin.fun/arch ...

  6. ARM裸机开发——Linux环境搭建和LED灯闪烁实验

    写在前面  本文为学校开展的嵌入式系统设计课程,本文主要是记录课程中的相关作业与学习记录,本课程采用了S3C2440A嵌入式系统开发板,由于主要以学校开展课程为主,本文内容可能有一定的课程资料辅助以及 ...

  7. 手把手教你在本地的vm虚拟机中搭建一个linux并建立连接(踩完所有坑)

    文章目录 前言 正文 虚拟机下载 linux虚拟机安装及版本安装. linux虚拟机安装 网络环境搭建 查看自己主机网段 配置linux环境下的ip地址 解决每次关闭防火墙问题 设置linux的网络适 ...

  8. linux虚拟机VMware centos环境搭建

    linux虚拟机VMware centos环境搭建 一.虚拟机 二.安装流程 三.linux环境下使用命令规则 1.常见的命令 2.与xshell连接 四.总结 一.虚拟机 虚拟机的意思就是说在我们的 ...

  9. Linux 容器 (LXC) 介绍

    自云计算兴起以来,微服务一直在稳步流行.亚马逊和 Netflix 等公司正在使用云平台来提供他们最需要的服务.容器是此类云原生应用程序的核心.容器是一个隔离的环境,可促进微服务并提供卓越的扩展性和快速 ...

最新文章

  1. 第四章 对象的类型和动态绑定
  2. 英语语法---分词短语详解
  3. python的进程模块
  4. 阿里云自研数据库支撑双11,助力电商客户订单峰值突破每秒20万笔
  5. 是什么包_包粽子教程,喜欢的收藏,以后想吃什么样的都可以自己包
  6. java 商品评价计算算法
  7. java包装模式_在Java8中包装设计模式
  8. js处理日期的一些整理(js获取给定日期前一天的日期)
  9. SQL Server 2008下日志清理方法
  10. 【深度学习理论】一文搞透pytorch中的tensor、autograd、反向传播和计算图
  11. (五)通过Python的select监控多个描述符实现并发连接
  12. 这本在日本销量突破70W+的 Python 书,凭什么这么火?
  13. Windows 部署服务(WDS)基础配置指南 (2008 or 2008R2 Only)
  14. SQL数据库收缩日志
  15. 手把手教你利用微软的Bot Framework,LUIS,QnA Maker做一个简单的对话机器人
  16. MySQL 之 库操作
  17. yanqiyetan V1.0 存档
  18. 攻防世界:logmein
  19. 2020 春节买火车票攻略和抢票工具分享
  20. Java学习之路---对象篇(Object)

热门文章

  1. 2022-2028年中国氟橡胶密封件行业市场研究及前瞻分析报告
  2. 2022-2028年中国塑胶模具行业市场专项调研及前瞻分析报告
  3. Excel+bat批量更改文件名
  4. Vue生命周期函数详解
  5. LeetCode简单题之通过翻转子数组使两个数组相等
  6. 台积电2nm与3nm制程
  7. 部署可扩展的目标检测管道:推理过程(上)
  8. TensorRT 3:更快的TensorFlow推理和Volta支持
  9. 基于TensorRT车辆实时推理优化
  10. Git 头指针分离与 FETCH_HEAD