1.Pipenv 介绍

Pipenv是基于pip的Python包管理工具,它和pip的用法非常相似,可以看做pip的加强版。

pipenv解决了旧的pip+virtualenv+requirements.txt 的工作方式的弊端(因为requirements.txt 需要手动维护,使用上不够灵活)

具体来说,它是pip、Pipfile、Virtualenv的结合体,它让安装包、包依赖管理和虚拟环境管理更加方便。

2.pipenv使用

(1)安装:

pip install pipenv

检查是否创建成功:

pipenv --version

(2)创建虚拟环境:

pipenv install

 这会为当前项目创建一个文件夹,其中包含隔离的Python解释其环境,并且安装pip、wheel、setuptools等基本的包。

(3)激活虚拟环境

pipenv shell

当执行pipenv shell 命令时, Pipenv 会自动从项目目录下的.env文件中加载环境变量。

现在你会发现,命令行提示符前面添加了虚拟环境名,这说明我们已经成功激活了虚拟环境,现在你所有的命令都会在虚拟环境中执行。

(4)退出虚拟环境

exit

3. 管理依赖包

一个程序通常会使用很多的Python包,即依赖(dependency)。而程序不仅仅会在一台电脑上运行,程序部署上线时,需要安装到远程服务器上。

如果你打算开源的话,就可能会有更多的人需要在他们的电脑上运行。为此,他们不得不记录下所有的依赖包,然后使用pip或Pipenv安装,这些重复无用的工作当然应该避免。

而且requirements.txt 需要手动维护,使用上不够灵活。Pipfile的出现就是为了替代难于管理的requirements.txt。

在创建虚拟环境时,如果项目根目录下没有Pipfile文件,pipenv还会在项目的根文件夹目录下创建Pipfile和Pipfile.lock文件。

前者用来记录项目依赖包列表,后者记录了固定版本的详细依赖包列表。当我们使用Pipenv 安装/删除/更新 依赖包时,二者会自动更新。

查看当前环境下的依赖情况:

pipenv graph

在虚拟环境中查看依赖列表:

pip list

  

当需要在一个新的环境运行程序时, 只需要执行 pipenv install  命令

pipenv 就会创建一个新的虚拟环境,然后自动从Pipfile中读取依赖并安装到新创建的虚拟环境中。

  

开发环境--Pipenv的使用的更多相关文章

  1. Python虚拟开发环境pipenv

    简介 requests库的作者,requests库的作者,requests库的作者(重要的事情说三遍)的又一力作,囊落了virtualenv, pip, pipfile等作为虚拟开发环境的命令行工具 ...

  2. pipenv管理python开发环境

    简介 简单说,pipenv就是把pip和virtualenv包装起来的一个便携工具. 它不会在你的项目文件夹里生成一大堆东西,只有两个文本文件: Pipfile, 简明地显示项目环境和依赖包. Pip ...

  3. 搭建Python开发环境(Mac)

    准备 Python官网: https://www.python.org/ Python官方文档: https://docs.python.org/ 环境搭建 简介 pipenv是Python官方推荐的 ...

  4. 【odoo14】第一章、安装odoo的开发环境

    有几种方式去设置odoo的开发环境,我们将逐个介绍他们. 如果你之前没有接触过odoo的开发环境,那么有几个必要的概念你是需要了解的.在这一章节中,我们首先介绍odoo的生态.然后我们在进行介绍odo ...

  5. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  6. 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)

    通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...

  7. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  8. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  9. Linux安装LAMP开发环境及配置文件管理

    Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...

随机推荐

  1. JAVA 静态方法和实例方法的区别 (图表)

    静态方法和实例方法的区别主要体现在两个方面:   在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这 ...

  2. 您需要来自XXX的权限才能对此文件夹进行更改

    解决办法: cmd命令:del/f/s/q 文件夹

  3. C#对战小游戏,持续更新(里面暂无内容,标记插眼)

    做的乱七八糟的 很明显的一点,对集合.数组.类的理解和运用   很差.很差.很差 今儿不做了,马德,头都肿大了 休息一下,捋一捋

  4. 前端项目模块化的实践2:使用 Webpack 打包基础设施代码

    以下是关于前端项目模块化的实践,包含以下内容: 搭建 NPM 私有仓库管理源码及依赖: 使用 Webpack 打包基础设施代码: 使用 TypeScript 编写可靠类库 使用 TypeScript ...

  5. 萌新程序媛的首个作品,基于NoSQL的内容管理及低码开发平台

    尽管入行有一段时间了,但之前还从来没想过要开发一款完整的软件产品.这个我跟朋友开发的第一款软件,希望大家帮我们多宣传推广.首个版本肯定有很多的不足,大家也给我们多提意见,还有很多规划中的功能要在之后的 ...

  6. Word或者WPS里证件照的背景底色和像素调整

    证件照的背景底色调整和像素调整         关于证件照的背景底色自行调整,比较方便的方法是用Word或者WPS来进行调整,当然也可以利用两者相结合的方法来进行调整,下面来系统的说一下这两种方式.此 ...

  7. 原生js实现table的排序

    原生js实现table的排序 今天遇到了一个问题就是使用原生js对table标签进行排序 一开始的时候陷入了一个误区就是首先获取table,然后每次比较完大小都会交换children的值,准备到最后吧 ...

  8. python 游戏(数字推理游戏Bagels)

    1.游戏思路和流程图 实现功能:玩家猜测三位不一样的数字,猜错了有提示,提示分别为(位置错误数字正确),(位置和数字正确),(数字和位置都不正确) 游戏流程图 2. 使用模块和游戏提示 import ...

  9. 20135202闫佳歆--week3 课本1-2章学习笔记

    第一章 Linux内核简介 一.Unix Unix是一个强大.健壮和稳定的操作系统. 简洁 绝大部分东西都被当做文件对待.这种抽象使对数据和对设备的操作都是通过一套相同的系统调用借口来进行的:open ...

  10. Linux内核分析 一二章读书笔记

    第一章 Linux内核简介 1.Unix (1)Unix系统很简洁 (2)在Unix中,所以东西都被当作文件对待,通过一套相同的系统调用接口来进行:open(),read(),write(),lsee ...