0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Pipenv - 官方推荐的的python包管理工具

马哥Linux运维 来源:未知 作者:李倩 2018-10-04 15:02 次阅读

Pipenv- 官方推荐的的python包管理工具。

Pipenv是一款旨在将所有包管理工具(如bundler, composer,npm, cargo, yarn等)的优点集中应用于python领域中的工具。它对各个平台都有很好的支持。

它可以为你的项目自动创建和管理虚拟环境,并且在你安装/删除包时自动在Pipfile中添加/移除相应的包。它同时生成一个非常重要的Pipfile.lock文件,来保证所构建环境的确定性。

Pipenv想要解决的问题是多方面的:

你不需要再分别使用pip和virtualenv,在Pipenv中他们一起工作

管理一个requirements.txt文件会产生很多问题,所以Pipenv用后面会出现的Pipfile和Pipfile.lock将其代替,这在实际例子中效果会更好。

为了安全性,哈希在多处被使用。自动公开安全漏洞。

让你通过图形深入了解当前的依赖关系($ pipenv graph)

通过加载.env文件简化开发流程

安装

Windows环境:

$ pip install pipenv

如果你使用的是macOS,你可以使用Homebrew安装:

$ brew install pipenv

用户的好评

Jannis Leidel, former pip maintainer—

Pipenv是一个精品,是我一直想将pip打造成的样子,它符合我的思维习惯,基本替代了virtualenvwrapper,并减少了很多手动的pip操作。使用它吧!

Justin Myles Holmes—

pipenv最终是一种抽象的概念,它意味着要让人的头脑(而不仅仅是文件系统)参与其中。

Isaac Sanders

Pipenv是我今天遇到最好的事情。 谢谢,Kenneth!

特性

容易的实现确定性构建,同时可轻易地指定你想要的内容

在锁定依赖项时,生成并检查文件的哈希

如果pyenv可用,自动安装所需要的Python

通过查找Pipfile,递归的自动查找你的项目

如果Pipfile不存在,则自动生成一个

在标准地址自动创建一个虚拟环境

当包被安装或者删除时,自动在Pipfile中修改。

如果.env文件存在,则自动载入

主要命令包括 install,uninstall,以及lock(生成Pipfile.lock)。这些命令可以替代$ pip install使用以及对虚拟环境的手动管理(激活虚拟环境,只需运行$ pipenv shell)

基本概念

当虚拟环境不存在时,会自动创建一个

当没有参数传给 install 时,将安装所有指定的包

通过 $ pipenv --three,初始化一个Python3的虚拟环境

通过$ pipenv --two,初始化一个Python2的虚拟环境

其他命令下生成的虚拟环境都是默认设置

其他命令

shell命令会生成一个激活了虚拟环境的shell

run将运行输入到虚拟环境的命令,并转发所有参数(e.g.$ pipenv run python)

check确定当前环境满足PEP 508的要求

graph将输出一个包含当前所有已安装依赖的漂亮图形

Shell 补全

举个例子,使用fish shell,将下列命令加入~/.config/fish/completions/pipenv.fish:

eval (pipenv --completion)

另外,也可以使用bash,将下列代码加入 .bashrc 或者 .bash_profile:

eval "$(pipenv --completion)"

神奇的shell补全功能现在已经可以使用了!(Fish 是最好的shell,你应该使用它)

应用

定位项目:

定位虚拟环境:

定位Python解释器:

安装包:

安装一个开发环境依赖:

展示一个依赖图:

生成一个lockfile:

安装所有开发依赖:

卸载全部:

使用shell:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    56

    文章

    4784

    浏览量

    84502
  • Shell
    +关注

    关注

    1

    文章

    363

    浏览量

    23311

原文标题:Pipenv:官方推荐的python包管理工具

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux环境下如何管理Python包管理工具

    Linux环境下,需要对软件包进行安装、卸载、升级和查询等操作,包含这些操作的工具,称为包管理工具
    发表于 08-22 15:14 640次阅读
    Linux环境下如何<b class='flag-5'>管理</b><b class='flag-5'>Python</b><b class='flag-5'>包管理工具</b>

    77.077 包管理工具 npm搜索包

    模块管理工具
    充八万
    发布于 :2023年07月21日 04:33:37

    75.075 包管理工具 npm介绍与安装

    模块管理工具
    充八万
    发布于 :2023年07月21日 04:52:00

    81.081 包管理工具 npm全局安装

    模块管理工具
    充八万
    发布于 :2023年07月21日 04:56:35

    93.093 包管理工具 包管理工具扩展介绍

    管理工具
    充八万
    发布于 :2023年07月21日 05:03:29

    89.089 包管理工具 yarn的介绍与操作

    代码管理工具
    充八万
    发布于 :2023年07月21日 05:13:49

    90.090 包管理工具 npm与yarn的选择

    代码管理工具
    充八万
    发布于 :2023年07月21日 05:17:16

    92.092 包管理工具 npm包的更新与删除

    代码管理工具
    充八万
    发布于 :2023年07月21日 05:18:25

    NPM的nodejs官方包管理工具详解

    NPM:nodejs官方包管理工具的简介、安装、使用方法之详细攻略
    发表于 12-25 10:46

    请问一下golang包管理工具dep怎么使用?

    请问一下golang包管理工具dep怎么使用?
    发表于 06-15 09:06

    基于Web的集群管理工具CWMS

    针对目前集群管理工具中没有实现单一入口或者仅提供命令行交互方式等问题,设计并实现了基于Web的集群管理工具CWMS。分析集群管理系统的体系结构,对集中式体系结构加以改进
    发表于 04-15 09:29 13次下载

    CANopen网络管理工具 V1.18

    CANopen网络管理工具 V1.18 网络管理工具
    发表于 11-15 17:12 75次下载

    Python包管理工具快速入门

    包管理python这个Get的重要部分。本文介绍了Python的各个包管理工具之间的关系,相信通过这篇文章的介绍,就不会再对distutils、setuptools、distribu
    的头像 发表于 02-26 15:34 4417次阅读
    <b class='flag-5'>Python</b>之<b class='flag-5'>包管理工具</b>快速入门

    Python 包管理工具解惑

    发现最好的资料还是 python官方文档。下面是阅读了所有我找到的资料后的一个总结,希望能帮到几个月后又把这些全部忘光的那个自己。二、python 包管理工具大乱斗我用时间顺序来描
    发表于 04-02 14:41 383次阅读

    如何安装Python包管理工具

    第三方库,Python提供了一些强大的包管理工具。本文将介绍如何安装Python包管理工具,以便您能够在Python项目中方便地
    的头像 发表于 04-14 12:10 1098次阅读