python三大神器之virtualenv

2023-05-16

    pip, virtualenv, fabric通称为pythoner的三大神器。

 virtualenv

    virtualenv------用来建立一个虚拟的python环境,一个专属于项目的python环境。用virtualenv 来保持一个干净的环境非常有用

测试环境:linux下

1、基本使用

    通过pip安装virtualenv:


pip install virtualenv  

    测试安装:


virtualenv --version  

    为一个工程项目搭建一个虚拟环境:


cd my_project
virtualenv my_project_env  

    另外,如果存在多个python解释器,可以选择指定一个Python解释器(比如``python2.7``),没有指定则由系统默认的解释器来搭建: 


virtualenv -p /usr/bin/python2.7 my_project_env  

    将会在当前的目录中创建一个名my_project_env的文件夹,这是一个独立的python运行环境,包含了Python可执行文件, 以及 pip 库的一份拷贝,这样就能安装其他包了,不过已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境来。

 要开始使用虚拟环境,其需要被激活:


source my_project_env/bin/activate  

    停用虚拟环境:


deactivate  

    停用后将回到系统默认的Python解释器

2、其他

    用pip freeze查看当前安装版本


pip freeze  

    另外:


pip freeze > requirements.txt  

    这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。您可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。这将会使另一个不同的开发者(或者是您,如果您需要重新创建这样的环境) 在以后安装相同版本的相同包变得容易。


pip install -r requirements.txt  

    这能帮助确保安装、部署和开发者之间的一致性。

virtualenvwrapper

提供了一系列命令使得和虚拟环境工作变得愉快许多。它把您所有的虚拟环境都放在一个地方。

  1. 将您的所有虚拟环境在一个地方。
  2. 包装用于管理虚拟环境(创建,删除,复制)。
  3. 使用一个命令来环境之间进行切换。

   1、安装

    安装(确保 virtualenv 已经安装了):


pip install virtualenvwrapper
export WORKON_HOME=~/Envs  #设置环境变量
mkdir -p $WORKON_HOME #创建虚拟环境管理目录
find / -name virtualenvwrapper.sh #找到virtualenvwrapper.sh的路径
source 路径 #激活virtualenvwrapper.sh  

    默认virtualenvwrapper安装在下面python解释器中的site-packages,实际上需要运行virtualenvwrapper.sh文件才行;所以需要先进行配置一下:

  • 找到virtualenvwrapper.sh的路径:find / -name virtualenvwrapper.sh 
  • 运行virtualenvwrapper.sh文件:source 路径

ps:每次要想使用virtualenvwrapper 工具时,都必须先激活virtualenvwrapper.sh,另外,如果创建前要将即将的环境保存到Envs中,就要先设置一下环境变量:export WORKON_HOME=~/Envs,再搭建

对于Windows,您可以使用 virtualenvwrapper-win

    安装(确保 virtualenv 已经安装了):


pip install virtualenvwrapper-win  

在Windows中,WORKON_HOME默认的路径是 %USERPROFILE%Envs 。  

2、基本使用

1、创建一个虚拟环境:


mkvirtualenv project_env  

   这会在Envs 中创建 project_env虚拟环境

   选择一个python解释器来搭建:


mkvirtualenv env  --python=python2.7  

2、在虚拟环境上工作:


 workon project_env  

或者,您可以创建一个项目,它会创建虚拟环境,并在 $WORKON_HOME 中创建一个项目目录。 当您使用 workon project_env 时,会 cd -ed 到项目目录中。


mkvirtualenv project_env  

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

workon 也能停止您当前所在的环境,所以您可以在环境之间快速的切换。

3、停止虚拟环境


deactivate  

4、删除:


 rmvirtualenv project_env  

3、其他有用的命令

lsvirtualenv    #列举所有的环境。

cdvirtualenv    #导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages。

cdsitepackages   # 和上面的类似,但是是直接进入到 site-packages 目录中。

lssitepackages     #显示 site-packages 目录中的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python三大神器之virtualenv 的相关文章

  • 如何在Python中找到低精度浮点值的原始文本表示?

    我遇到了显示问题floatPython 中的值 从外部数据源加载 它们是 32 位浮点数 但这也适用于较低精度的浮点数 以防万一 这些值是由人类在 C C 中输入的 因此与任意计算值不同 与round数字很 可能not预期的 但不能被忽略
  • Python 如果 kwargs 中的 key 并且 key 为 true

    if force in kwargs and kwargs force is True 感觉应该有更好的方法来编写这个条件 因为我重复了键和变量 假设您确实想检查返回的关键字参数是否is True 这是另一种稍微不同的方式 if kwarg
  • Flask - 如何从 JSON GET 请求获取参数

    我有一个发出以下 GET 请求的客户端 api GET tasks 5fe7eabd 842e 40d2 849e 409655e0891d 22task 22 22hello 22 22url 22 22 tasks 5fe7eabd 8
  • python 打开相对文件夹中所有以.txt结尾的文件

    我需要打开并解析文件夹中的所有文件 但我必须使用相对路径 类似于 input files 我知道在 JavaScript 中你可以使用 path 库来解决这个问题 我怎样才能在Python中做到这一点 这样您就可以获得路径中的文件列表作为列
  • Django 和 AWS 简单电子邮件服务 [重复]

    这个问题在这里已经有答案了 我正在尝试启动并运行 django 站点 并且正在尝试启用 django 的标准密码重置服务 我的网站由 AWS EC2 托管 因此我想将 AWS SES 用于我的电子邮件服务 但是 我无法使 smtp 连接正常
  • Pandas cut 方法不包括下限

    我正在尝试对包含 0 到 100 范围内的年龄的数据帧列进行分箱 当我尝试使用垃圾箱来包含零年龄时 它不起作用 这是一个使用包含我的数据范围的列表的演示 pd cut pd Series range 101 0 24 49 74 100 范
  • 点击后 Dash DropDown 关闭

    我不希望下拉菜单在选择值后关闭 我希望它在我的页面上保持打开状态 我正在使用 dcc Dropdown dcc Dropdown id job type options self options placeholder Select one
  • 将Python嵌入到C中——导入模块

    我在使用嵌入式 Python for C 时遇到问题文档 http docs python org extending embedding html 每当我尝试使用导入的模块时 我都会得到 PythonIncl exe 中 0x1e089e
  • Django 单元测试数据库没有被拆除?

    我编写了一些单元测试来测试我的 Django 应用程序 特别是一个测试套件中包含大量代码setUp 功能 所述代码的目的是为数据库创建测试数据 是的 我了解固定装置 并且选择在这种情况下不使用它们 当我运行单元测试套件时 运行的第一个测试通
  • 如何在Python中比较列表列表中的元素以及比较列表列表中的键?

    我有以下顺序 seq ATG ATG ATG ATG GAC GAT GAA CCT GCC GCG GCA GCT 这是一个字典键 用于存储每个密码子的氨基酸值 三联碱基 例如ATG GCT etc aminoacid TTT F TTC
  • Web 应用程序框架:C++ 与 Python

    作为一名程序员 我熟悉 Python 和 C 我正在考虑编写自己的简单 Web 应用程序 并且想知道哪种语言更适合服务器端 Web 开发 我正在寻找一些东西 它必须是直观的 我认识到 Wt 存在并且它遵循 Qt 的模型 我讨厌 Qt 的一件
  • 在Python中从整个图像中检测表格部分

    我有一张尺寸为 3500x5000 的图像 现在我只想检测整个图像中的表格部分 如果不能直接进行 OCR 处理 则对其进行裁剪和旋转 经过所有搜索后 我想到了使用裁剪图像中的每个单元格的想法https medium com coinmonk
  • 有什么理由不在Python中混合使用多处理和线程模块

    我正在考虑使用Python来实现一个需要大量多线程的程序 另一个要求是它将在桌面上运行 因此拥有许多进程将使应用程序显得混乱且难以杀死 在任务管理器中 因此 我正在考虑使用线程和多处理模块来减少进程数量 据我了解 GIL 仅适用于单个进程
  • Python 多处理:全局对象未正确复制到子级

    前几天我回答了一个关于SO的问题 https stackoverflow com q 67047533 1925388关于并行读取 tar 文件 这是问题的要点 import bz2 import tarfile from multipro
  • 从 Cython 代码生成 SIMD 指令

    我需要概述在高性能数字代码中使用 Cython 可以获得的性能 我感兴趣的事情之一是找出优化的 C 编译器是否可以对 Cython 生成的代码进行矢量化 所以我决定写下面的小例子 import numpy as np cimport num
  • 为什么变量不在循环外更新?

    无法弄清楚为什么结果中的第一个键是 abc 而不是我期望的 c 我使用的是Python 3 6 4 数据结构很奇怪 因为我删除了不相关的键和值 f replace ab r data abc 1 def 2 ghi 3 jkf 4 lmn
  • 打包布尔数组需要通过 int (numpy 1.8.2)

    我正在寻找更紧凑的方式来存储布尔值 numpy 内部需要 8 位来存储一个布尔值 但是np packbits允许打包 他们 这真是太酷了 问题是要打包在4e6字节数组a32e6字节我们需要首先使用的布尔值数组256e6字节将布尔数组转换为
  • 如何找到 JAR:/home/hadoop/contrib/streaming/hadoop-streaming.jar

    我正在练习有关 Amazon EMR 的复数视角视频教程 我被困住了 因为我收到此错误而无法继续 Not a valid JAR home hadoop contrib streaming hadoop streaming jar 请注意
  • 从 Python 访问 802.11 无线管理帧

    我想从 Linux 上的 Python 嗅探 802 11 管理 探测请求 帧 这可以从 Scapy 中实现 如下所示 coding utf 8 from scapy all import def proc p if p haslayer
  • 写入文件的正确方法?

    我想知道这样做是否有什么区别 var1 open filename w write Hello world 并做 var1 open filename w var1 write Hello world var1 close 我发现没有必要

随机推荐

  • GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=(u32)8<<12;(学习笔记)

    看原子哥的IIC h文件看到这两个语句有点懵 xff0c 去找了半天资料才懵懵懂懂 xff0c 下面简单记录一下 xff0c 以防下次又忘了 就拿这个举例把 xff0c GPIO一组有 xff08 0 15 xff09 一共16个 前 xf
  • C#public,protected,private,internal,protected internal学习笔记

    比如说 xff1a 一个人A为父类 xff0c 他的儿子B xff0c 妻子C xff0c 私生子D xff08 注 xff1a D不在他家里 xff09 如果我们给A的事情增加修饰符 xff1a 1 public事件 xff1a 地球人都
  • 动手写代码之前必须的准备工作-1.5.第1季第5部分-朱有鹏-专题视频课程

    动手写代码之前必须的准备工作 1 5 第1季第5部分 2423人已学习 课程介绍 本课程是 朱有鹏老师单片机完全学习系列课程 第1季第5个课程 xff0c 主要内容是开发环境的搭建 C语言基础知识 数据手册的带读等编程前导知识 学习本课程的
  • Ubuntu:gcc编译报错 fatal error: stdio.h 没有那个文件或目录解决方法

    跟着火哥学习liunx xff0c 在跟着视频学习到第13讲的时候遇到了gcc编译hello c报错的问题 xff0c 也是搞了半天查了很多解决方案都是叫我安装C C 43 43 环境什么的 xff0c 但试了并没有用 xff0c 可能是我
  • 一文教你实现Spring动态启停定时任务

    为什么需要定时任务 定时任务的应用场景十分广泛 xff0c 如定时清理文件 定时生成报表 定时数据同步备份等 Java定时任务的原理 jdk自带的库中 xff0c 有两种技术可以实现定时任务 xff0c 一种是Timer 另一种是 Sche
  • 市面上主流TPMS胎压芯片介绍

    今天的汽车胎压芯片市场是算热闹的 xff0c 相对于2016年时 xff0c 国产 国外的都有了新的变化 xff0c 对产品开发者或者说使用者来说 xff0c 无疑是福音 xff0c 要想国内胎压市场从2005年左右到2016年 xff0c
  • Hbase的安装与配置

    文章目录 Hbase 安装配置一 xff0c 测试Hadoop 安装1 xff0c ssh 免密测试2 xff0c jps 查看进程 二 xff0c 安装Hbase1 xff0c 拷贝Hbase 2 5 0 到 opt 目录下 三 xff0
  • Python 数据可视化的三大步骤

    1 首先 xff0c 要知道我们用哪些库来画图 matplotlib Python中最基本的作图库就是matplotlib xff0c 是一个最基础的Python可视化库 xff0c 一般都是从matplotlib上手Python数据可视化
  • 本文一步一步地教你如何将Python程序打包成exe文件—赶紧进来学习吧

    先来看看几个问题 一 什么是exe可执行文件 xff1f exe文件英文全名是executable file xff0c 翻译为可执行文件 xff08 但它不等于可执行文件 xff09 xff0c 可执行文件包含两种 xff0c 文件扩展名
  • 用python代码画爱心,来自程序猿的浪漫

    不相信python代码可以画爱心 xff1f 先来一张效果图来看看效果吧 xff01 用python代码画爱心的思路是怎样的 xff1f 1 怎么画心形曲线 2 怎么填满心形曲线 3 怎么用 python 画出爱心 接下来看好了 xff0c
  • 从协方差的角度详解线性判别分析原理+Python实现

    目录 写在前面 机器学习强基计划聚焦深度和广度 xff0c 加深对机器学习模型的理解与应用 深 在详细推导算法模型背后的数学原理 xff1b 广 在分析多个机器学习模型 xff1a 决策树 支持向量机 贝叶斯与马尔科夫决策 强化学习等 1
  • Python量化交易实战:获取股票数据并做分析处理

    量化交易 xff08 也称自动化交易 xff09 是一种应用数学模型帮助投资者进行判断 xff0c 并且根据计算机程序发送的指令进行交易的投资方式 xff0c 它极大地减少了投资者情绪波动的影响 量化交易的主要优势如下 xff1a 快速检测
  • Python读取xml文件

    关于python读取xml文章很多 xff0c 但大多文章都是贴一个xml文件 xff0c 然后再贴个处理文件的代码 这样并不利于初学者的学习 xff0c 希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件 什么是xml
  • 单片机控制第一个外设-LED灯-第1季第6部分-朱有鹏-专题视频课程

    单片机控制第一个外设 LED灯 第1季第6部分 3352人已学习 课程介绍 本课程是 朱有鹏老师单片机完全学习系列课程 第1季第6个课程 xff0c 主要讲解LED的工作原理和开发板原理图 实践编程等 xff0c 通过学习目的是让大家学会给
  • Python——闭包详解

    在函数编程中经常用到闭包 闭包是什么 xff0c 它是怎么产生的及用来解决什么问题呢 给出字面的定义先 xff1a 闭包是由函数及其相关的引用环境组合而成的实体 即 xff1a 闭包 61 函数 43 引用环境 想想Erlang的外层函数传
  • Python 中的类与继承

    类的定义以及实例的建立 Python中 xff0c 类通过 class 关键字定义 例如最简单的一个类定义可以为 xff1a class Person object pass Python 的编程习惯 xff0c 类名以大写字母开头 xff
  • Python中的type和object详解

    这篇博客主要描述Python的新风格对象 new style objects xff0c 如下 xff1a lt type 39 type 39 gt 和 lt type 39 object 39 gt 分别是什么 xff1f 用户自定义的
  • Python装饰器大详解

    一 作用域 在python中 xff0c 作用域分为两种 全局作用域和局部作用域 全局作用域是定义在文件级别的变量 函数名 而局部作用域 xff0c 则是定义函数内部 关于作用域 xff0c 我们要理解两点 xff1a a 在全局不能访问到
  • 我的Python学习笔记:私有变量

    一 私有变量的定义 在Python中 xff0c 有以下几种方式来定义变量 xff1a xx xff1a 公有变量 xx xff1a 单前置下划线 xff0c 私有化属性或方法 xff0c 类对象和子类可以访问 xff0c from som
  • python三大神器之virtualenv

    pip virtualenv fabric通称为pythoner的三大神器 virtualenv virtualenv 用来建立一个虚拟的python环境 xff0c 一个专属于项目的python环境 用virtualenv 来保持一个干净