Python的虚拟环境

首先我们得知道为什么要要用虚拟环境?

在使用python开发过程中,各种业务需求多了,导致工程任务多了,难免会碰到不同的工程依赖不同版本库的问题,;或者是在开发的时候不想让物理环境里充斥各种各样的库,引发依赖环境灾难,此时我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁,让各个工程任务解耦性更高,独为一体.因此我们要使用 Virtualenv,它是一个可以帮助我们开发管理python环境的绝好工具,virtualenv(分身术--对python解释器的分身)可以在系统中建立多个不同并且相互不干扰的虚拟环境~~~~~~~~~~~

virtualenv(分身术)

1.安装下载

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

2.使用虚拟环境命令, 创建python解释器分身,用于运行第一个django2.0版本

    virtualenv  --no-site-packages  --python=python3   venv1

3.再创建虚拟环境2,用于运行django1.11.18

   virtualenv  --no-site-packages  --python=python3   venv2

4.打开两个xsehll终端,分别激活,看一下命令的绝对路径

终端1

source /opt/venv1/bin/activate   确保在虚拟环境1底下,看一下命令的绝对路径

终端2

source /opt/venv2/bin/activate

5.分别创建两个django项目 运行

注意:virtualenv使用起来没有virtualenvwrapper简便快捷,因为它最大的缺点就是:每次开启虚拟环境之前要去虚拟环境所在目录下的bin目录下source 一下activate,这就需要我们记住每个虚拟环境所在的目录.万一我们要是忘了虚拟环境目录或者名称就不太好了....

virtualenvwrapper的应用

1.安装virtualenvwrapper

###安装 virtualenvwarpper
1. # pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenvwarpper
2. # find / -name virtualenvwarpper.sh #安装在Python解释器目录下,如下图
3. # 前往Python安装目录拷贝virtualenvwarpper.sh和virtualenv两个可执行文件到/usr/local/bin目录下
## cp virtualenvwarpper.sh /usr/local/bin/
## cp virtualenv /usr/local/bin/

2.设置linux环境变量,每次开机自动加载virtualenvwrapper

打开文件   vim ~/.bashrc

进行如下配置

export WORKON_HOME=~/Envs   #设置virtualenv的统一管理目录
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3 #注意这里是指定python3解释器
source /usr/local/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本 然后再 source ~/.bashrc
读取文件,使得生效,此时已经可以使用virtalenvwrapper

3.基本使用virtualenvwrapper命令

1.创建虚拟环境
mkvirtualenv 虚拟环境name #例如 mkvirtualenv venv1 #例如 mkvirtualenv venv2 2.激活虚拟环境 workon 虚拟环境name 例如 workon venv1 3.当然workon还有切换不同虚拟环境的功能,停止当前,前往指定虚拟环境 4.手动停止虚拟环境 deactivate 5.删除虚拟环境 rmvirtualenv venv1 #注意先退出再删除 其他命令 1.lsvirtualenv 列举出所有的虚拟环境 2.cdvirtualenv 导航到当前虚拟环境中的目录 3.cdsitepackages 直接进入sitepackages 目录 4.lssitepackages 展示sitepackages中的内容

linux--python虚拟环境篇的更多相关文章

  1. linux python虚拟环境 相关的

    为什么要用虚拟环境 在使用python开发过程中,各种业务需求多了,导致工程任务多了,难免会碰到不同的工程依赖不同版本库的问题,;或者是在开发的时候不想让物理环境里充斥各种各样的库,引发依赖环境灾难, ...

  2. linux系统下Python虚拟环境的安装和使用

    前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开发就显得很有必要. 安装虚拟环境 步骤: 打开Linux终端(快捷 ...

  3. Python 虚拟环境 | Mac/Linux下如何避坑安装配置Virtualenv

    1.为什么要使用虚拟环境 在Python中,不同的应用可能需要用到不同版本的第三方包,而这些第三方包被统一存放到目录site-packages中,不同版本的包容易相互覆盖,如安装Django 2.1时 ...

  4. Linux下安装python虚拟环境(virtualenv,vritulaenvwrapper)

    一.virtualenv virtualenv是如何创建"独立"的Python运行环境的呢? 原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令sour ...

  5. Linux创建Python虚拟环境

    Linux创建Python虚拟环境 安装 pip install virtualenv 基本使用 为一个工程创建一个虚拟环境: $ cd my_project $ virtualenv venv #v ...

  6. linux设置python虚拟环境的环境变量

    针对 linux系统中 python虚拟环境 设置环境变量 2种方法: 1.在建好的虚拟环境的 venv/bin/active 文件中,写入需要的环境变量,再进入虚拟环境: 如 配置文件路径 JERR ...

  7. 测试面试题集锦(四)| Linux 与 Python 编程篇(附答案)

    本文为霍格沃兹测试学院学员学习笔记. 本系列文章总结归纳了一些软件测试工程师常见的面试题,主要来源于个人面试遇到的.网络搜集(完善).工作日常讨论等,分为以下十个部分,供大家参考.如有错误的地方,欢迎 ...

  8. Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了

    前言 Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境.在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理. 传统的Python虚拟环境有virtualen ...

  9. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  10. 【Python五篇慢慢弹】数据结构看python

    数据结构看python 作者:白宁超 2016年10月9日14:04:47 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...

随机推荐

  1. Java 并发编程(二)对象的不变性和安全的公布对象

    一.不变性 满足同步需求的还有一种方法是使用不可变对象(Immutable Object). 到眼下为止,我们介绍了很多与原子性和可见性相关的问题,比如得到失效数据.丢失更新操作或光查到某个对象处于不 ...

  2. 【PMP】事业环境因素和组织过程资产

    事业环境因素(EEFs) 事业环境因素(EEFs):是指组织不能控制的,将对项目产生影响.限制或指令作用的各种条件. ①组织内部的事业环境因素: 组织文化.结构和治理 设施和资源的地理分布 基础设施 ...

  3. SQL SERVER 中日期格式化,及GETDATE()、CONVERT()函数使用说明

    1. date和datetime类型的区别 date是SQL Server 2008新引进的数据类型.它表示一个日期,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日.只需 ...

  4. mysql基础SQL练习

    许久收藏的练习mysql语句的,现在看来任然有学习价值! 表如下: Student(Sid,Sname,Sage,Ssex) 学生表 Course(Cid,Cname,Tid) 课程表 SC(Sid, ...

  5. 对于 url encode decode js 和 c# 有差异

    在js对一个值进行解码使用:decodeURIComponent,编码使用:encodeURIComponent

  6. Spring Boot系列——死信队列

    在说死信队列之前,我们先介绍下为什么需要用死信队列. 如果想直接了解死信对接,直接跳入下文的"死信队列"部分即可. ack机制和requeue-rejected属性 我们还是基于上 ...

  7. cmder里ls、pwd、自定义的alias等一系列命令都无法使用

    win10下cmder很多命令history pwd无法使用,ls字体也没有颜色显示,其根本原因是win10下cmd控制台版本问题,切换回老版本就OK了

  8. 每天学习一个Linux命令-目录

    在工作中总会零零散散使用到各种Linux命令,从今天开始详细的学习一下linux常用命令,坚持每天一个命令,学习的主要参考资料为: 1.竹子-博客(https://www.cnblogs.com/pe ...

  9. 图像的下采样Subsampling 与 上采样 Upsampling

     I.目的 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的: 1.使得图像符合显示区域的大小: 2.生成对应图像的缩略图. 放大图像(或称为上采样(ups ...

  10. 某公司面试java试题之【一】,看看吧,说不定就是你将要做的题