Pipenv: Python包管理神器
Pipenv旨在将最好的包管理机制(bundler, composer, npm, cargo, yarn等等)带到Python中去。
它会为你的项目自动创建和管理virtualenv,也会在安装和移除包时自动同步Pipfile
,还生成了Pipfile.lock
文件描述了固定版本,以便在生产环境中构建。
Pipenv主要解决了以下问题:
- 我们不需要分开使用
pip
和virtualenv
,现在他们被合并了。 - 维护requirements.txt有时也会遇到一些问题,Pipenv使用
Pipfile
和Pipfile.lock
来抽象分开依赖定义 - 广泛使用Hash来保证安全
- 强力鼓励你使用最新的依赖版本降低安全风险
- 通过 pipenv graph更直观显示依赖图示
- 通过加载.env文件来实现流线型开发工作流
安装Pipenv
sudo pip install pipenv
Pipenv工作流程
进入项目
cd myproject
从Pipfile文件中安装
pipenv install
或者为项目指定加入package
pipenv install <package>
如果Pipfile
文件不存在时会创建一个,如果存在就会对其进行编辑,加入新包。
接下来激活Pipenv shell:
pipenv shell
退出
exit
更多指令
更新某个package
pipenv update requests
移除某个package
pipenv uninstall requests
安装到dev环境
pipenv install -dev parsel==1.3.1
显示依赖图示
$ pipenv graph
requests==2.20.1
- certifi [required: >=2017.4.17, installed: 2018.11.29]
- chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
- idna [required: >=2.5,<2.8, installed: 2.7]
- urllib3 [required: >=1.21.1,<1.25, installed: 1.24.1]
锁定版本
pipenv lock
环境变量
如果需要在环境中加入一些环境变量,可以将变量加入到.env文件中,在pipenv shell指令进入环境时,它会自动加载该文件的变量:
echo "FOO=BAR" > .env
pipenv shell
echo $FOO
编辑器支持
Pycharm当前已经支持pipenv包管理插件。
Pipenv: Python包管理神器的更多相关文章
- 包管理神器-pipenv
一:前言 介绍一个包管理神器-pipenv,这个工具可以让我们在写代码.创建Python运行环境.package依赖关系以及项目合作的时候更有效率. 在pycon2018上,Kenneth Reitz ...
- Python | Pipenv官方推荐的python包管理工具
原文地址:https://cloud.tencent.com/developer/article/1355672 Pipenv - 官方推荐的的python包管理工具. Pipenv是一款旨在将所有包 ...
- python 包管理工具
python 包管理工具 Python当前的包管理工具链是 easy_install/pip + distribute/setuptools + distutils,显得较为混乱. 而将来的工具链组合 ...
- Python 包管理工具解惑
Python 包管理工具解惑 本文链接:http://zengrong.net/post/2169.htm python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到 ...
- 转: CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法
from: http://www.linuxde.net/2014/05/15576.html CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法 2014/05/ ...
- python包管理-distutils,setuptools,pip,virtualenv等介绍
python包管理-distutils,setuptools,pip,virtualenv等介绍 对于每个编程语言来说打包和发布开发包往往非常重要,而作为一个编程者能够快速容易的获得并应用这些由第三方 ...
- Python包管理工具和多版本环境管理
1. Python包管理工具 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_instal ...
- CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法
CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法如下: 截至包子写本文的时候,pip最新为 1.5.5 wget --no-check-certificate h ...
- Python 包管理(PYPA)
Python包的管理可以通过Python 自带的管理 工具,例如:package-autoremove,package-list-packages, package-install 等,使用起来也非常 ...
随机推荐
- mysql基本语句1
操作MySQL数据库 向表中插入数据 insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下: insert [into] 表名 [(列名1, 列名2, 列名3, ...)] ...
- python-编译安装Python2.7
yum中最新的也是Python 2.6.6,只能下载Python 2.7.5的源代码自己编译安装. 操作步骤如下: 1)下载并解压Python 2.7.9的源代码 cd /opt wget --no- ...
- OpenCV - Android Studio 中集成Opencv环境(不包含opencv_contrib部分)
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,支持的运行环境也是非常的多,这篇文章主要讲的是Android环境集成OpenCV(IDE是Android Studio,我想Eclip ...
- bzoj 2732: [HNOI2012]射箭 半平面交
题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=2732 题解: 这道题的做法我不想说什么了... 其他题解都有说做法... 即使是我上午做 ...
- bzoj 4006 管道连接 —— 斯坦纳树+状压DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4006 用斯坦纳树求出所有关键点的各种连通情况的代价,把这个作为状压(压的是集合选择情况)的初 ...
- bzoj4403
组合数学 我好菜啊 想到dp去了... 事实上对于固定长度的数列,我们只用考虑选了哪些数就行了,所以这个就是$C(n+m-1,m-1)$ 也就是$n$个数,划分成$m$段且允许空的方案数 然后变成$\ ...
- 对象流demo1----
对象流demo1: package com.etc.test; import java.io.BufferedInputStream; import java.io.BufferedOutputStr ...
- CentOS 配置RDP
XRDP服务器 CentOS安装XRDP实现远程桌面访问: 由于安装的是远程桌面,因此需要安装桌面显示服务:# yum install vnc-server 下面开始配置XRDP服务 l 配置环境: ...
- c语言基础 c和指针
句子 c规定数组名代表数组首元素的地址 如果&a 则代表整个数组 没有内存哪来的指针 数据类型的本质:固定大小内存的别名 变量的本质:(一段连续)内存空间的别名,内存空间的标号 指针是一种数据 ...
- atoi函数实现
#include int my_atoi(const char *str) { int result; char sign; for (; str && isspace(*str); ...