开发环境--Pipenv的使用
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的使用的更多相关文章
- Python虚拟开发环境pipenv
简介 requests库的作者,requests库的作者,requests库的作者(重要的事情说三遍)的又一力作,囊落了virtualenv, pip, pipfile等作为虚拟开发环境的命令行工具 ...
- pipenv管理python开发环境
简介 简单说,pipenv就是把pip和virtualenv包装起来的一个便携工具. 它不会在你的项目文件夹里生成一大堆东西,只有两个文本文件: Pipfile, 简明地显示项目环境和依赖包. Pip ...
- 搭建Python开发环境(Mac)
准备 Python官网: https://www.python.org/ Python官方文档: https://docs.python.org/ 环境搭建 简介 pipenv是Python官方推荐的 ...
- 【odoo14】第一章、安装odoo的开发环境
有几种方式去设置odoo的开发环境,我们将逐个介绍他们. 如果你之前没有接触过odoo的开发环境,那么有几个必要的概念你是需要了解的.在这一章节中,我们首先介绍odoo的生态.然后我们在进行介绍odo ...
- Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境
一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...
- 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)
通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
随机推荐
- Docker GitHub 网站中 Readme.md 以技术者的角度翻译
Docker 是一个开源的轻量级容器项目,用于让你的应用在它上面打包.集装和运行.Docker 运行的环境既包含未知硬件也包含未知操作系统.这句话的意思是它可以运行在任何地方,小到你的笔记本大到一个大 ...
- mybati缓存机制之一级缓存
在月黑风高的某天夜晚,boss chen语重心长的发条了消息给小草说:“小草啊,是时候写写博客来记录平常自己积累的东西了......”.小草一听,平常没有写博客的习惯,在平常开发中只是用笔记记录自 ...
- Android 测试之Monkey
一.什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进 ...
- Unity 音频合并
将多个音频组合起来进行播放 代码如下: ; [SerializeField] AudioClip s1; [SerializeField] AudioClip s2; [SerializeField] ...
- gym101522 [小熊骑士限定]La Salle-Pui Ching Programming Challenge 培正喇沙編程挑戰賽 2017
西瓜队(划掉),Kuma Rider久违的第一场训练,四小时瞎打.jpg A.水题,排序 #include<cstdio> #include<iostream> #includ ...
- 32bit 天堂2脚本修改资料大全【客户端+服务端】
该资料夹中所有教程资料全部适合天堂2初章32位服务端的脚本修改,已经1.2章相关客户端的修改. https://pan.baidu.com/s/1RuGMFNgERd2JMYQpdceQwg 提取码: ...
- 小刘的机器学习---SVM
前言: 这是一篇记录小刘学习机器学习过程的随笔. 正文: 支持向量机(SVM)是一组用于分类, 回归和异常值检测的监督学习方法. 在分类问题中,SVM就是要找到一个同时离各个类别尽可能远的决策边界即最 ...
- jsp学习之包含——include
http://blog.e23.cn/?uid-1255655-action-viewspace-itemid-134232 1.include: Include 指令: <%@ include ...
- 20170929php
这是之前学习PHP类使用的代码 <?phpclass animal{ var $name="1"; var $sex="2"; public static ...
- C++:钻石继承与虚继承
QUESTION:什么是钻石继承? ANSWER:假设我们已经有了两个类Father1和Father2,他们都是类GrandFather的子类.现在又有一个新类Son,这个新类通过多继承机制对类Fat ...