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
    +关注

    关注

    51

    文章

    4667

    浏览量

    83439
  • Shell
    +关注

    关注

    1

    文章

    357

    浏览量

    22896

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

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

收藏 人收藏

    评论

    相关推荐

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

    Linux环境下,需要对软件包进行安装、卸载、升级和查询等操作,包含这些操作的工具,称为包管理工具
    发表于 08-22 15:14 378次阅读
    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

    CANopen网络管理工具 V1.18

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

    Python包管理工具快速入门

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

    一份2018年Python开源项目Top100清单!

    了。这是 Python 官方推荐的一个 Python 包管理工具,可以帮你把 Pipfile, pip, 和 virtualenv 整合到一起, 而且你也可以在浏览器中快速使用
    的头像 发表于 01-02 09:56 2827次阅读
    一份2018年<b class='flag-5'>Python</b>开源项目Top100清单!

    Python 包管理工具解惑

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

    如何安装Python包管理工具

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