我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用Pipenv

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用Pipenv

这篇文章给大家介绍如何使用Pipenv,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Pipenv 是由 Kenneth Reitz 在一年多前创建的“面向开发者而生的 Python 开发工作流”,它已经成为管理软件包依赖关系的 Python 官方推荐资源。但是对于它解决了什么问题,以及它如何比使用 piprequirements.txt 文件的标准工作流更有用处,这两点仍然存在困惑。在本月的 Python 专栏中,我们将填补这些空白。

Python 包安装简史

为了理解 Pipenv 所解决的问题,看一看 Python 包管理如何发展十分有用的。

让我们回到***个 Python 版本,这时我们有了 Python,但是没有干净的方法来安装软件包。

然后有了 Easy Install,这是一个可以相对容易地安装其他 Python 包的软件包,但它也带来了一个问题:卸载不需要的包并不容易。

pip 登场,绝大多数 Python 用户都熟悉它。pip 可以让我们安装和卸载包。我们可以指定版本,运行 pip freeze > requirements.txt 来输出一个已安装包列表到一个文本文件,还可以用相同的文本文件配合 pip install -r requirements.txt 来安装一个应用程序需要的所有包。

但是 pip 并没有包含将软件包彼此隔离的方法。我们可能会开发使用相同库的不同版本的应用程序,因此我们需要一种方法来实现这一点。随之而来的是虚拟环境,它使我们能够为我们开发的每个应用程序创建一个小型的、隔离的环境。我们已经看到了许多管理虚拟环境的工具:virtualenv、 venv、 virtualenvwrapper、 pyenv、 pyenv-virtualenv、 pyenv-virtualenvwrapper 等等。它们都可以很好地使用 piprequirements.txt 文件。

新方法:Pipenv

Pipenv 旨在解决几个问题:

首先,需要 pip  库来安装包,外加一个用于创建虚拟环境的库,以及用于管理虚拟环境的库,再有与这些库相关的所有命令。这些都需要管理。Pipenv  附带包管理和虚拟环境支持,因此你可以使用一个工具来安装、卸载、跟踪和记录依赖性,并创建、使用和组织你的虚拟环境。当你使用它启动一个项目时,如果你还没有使用虚拟环境的话,Pipenv  将自动为该项目创建一个虚拟环境。

Pipenv 通过放弃 requirements.txt 规范转而将其移动到一个名为 Pipfile 的新文档中来完成这种依赖管理。当你使用 Pipenv 安装一个库时,项目的 Pipfile 会自动更新安装细节,包括版本信息,还有可能的 Git 仓库位置、文件路径和其他信息。

其次,Pipenv  希望能更容易地管理复杂的相互依赖关系。你的应用程序可能依赖于某个特定版本的库,而那个库可能依赖于另一个特定版本的库,这些依赖关系如海龟般堆叠起来。当你的应用程序使用的两个库有冲突的依赖关系时,你的情况会变得很艰难。Pipenv  希望通过在一个名为 Pipfile.lock 的文件中跟踪应用程序相互依赖关系树来减轻这种痛苦。Pipfile.lock 还会验证生产中是否使用了正确版本的依赖关系。

另外,当多个开发人员在开发一个项目时,Pipenv 很方便。通过 pip 工作流,凯西可能会安装一个库,并花两天时间使用该库实现一个新功能。当凯西提交更改时,他可能会忘记运行 pip freeze 来更新 requirements.txt 文件。第二天,杰米拉取凯西的改变,测试就突然失败了。这样会花费好一会儿才能意识到问题是在 requirements.txt 文件中缺少相关库,而杰米尚未在虚拟环境中安装这些文件。

因为 Pipenv 会在安装时自动记录依赖性,如果杰米和凯西使用了 Pipenv,Pipfile 会自动更新并包含在凯西的提交中。这样杰米和凯西就可以节省时间并更快地运送他们的产品。

***,将 Pipenv 推荐给在你项目上工作的其他人,因为它使用标准化的方式来安装项目依赖项和开发和测试的需求。使用 pip 工作流和 requirements.txt 文件意味着你可能只有一个 requirements.txt 文件,或针对不同环境的多个 requirements.txt 文件。例如,你的同事可能不清楚他们是否应该在他们的笔记本电脑上运行项目时是运行 dev.txt 还是 local.txt。当两个相似的 requirements.txt 文件彼此不同步时它也会造成混淆:local.txt 是否过时了,还是真的应该与 dev.txt 不同?多个 requirements.txt 文件需要更多的上下文和文档,以使其他人能够按照预期正确安装依赖关系。这个工作流程有可能会混淆同时并增加你的维护负担。

使用 Pipenv,它会生成 Pipfile,通过为你管理对不同环境的依赖关系,可以避免这些问题。该命令将安装主项目依赖项:

pipenv install

添加 --dev 标志将安装开发/测试的 requirements.txt

pipenv install --dev

使用 Pipenv 还有其他好处:它具有更好的安全特性,以易于理解的格式绘制你的依赖关系,无缝处理 .env 文件,并且可以在一个文件中自动处理开发与生产环境的不同依赖关系。你可以在文档中阅读更多内容。

使用 Pipenv

使用 Pipenv 的基础知识在官方 Python 包管理教程管理应用程序依赖关系部分中详细介绍。要安装 Pipenv,使用 pip

pip install pipenv

要安装在项目中使用的包,请更改为项目的目录。然后安装一个包(我们将使用 Django 作为例子),运行:

pipenv install django

你会看到一些输出,表明 Pipenv 正在为你的项目创建一个 Pipfile

如果你还没有使用虚拟环境,你还会看到 Pipenv 的一些输出,说明它正在为你创建一个虚拟环境。

然后,你将看到你在安装包时常看到的输出。

为了生成 Pipfile.lock 文件,运行:

pipenv lock

你也可以使用 Pipenv 运行 Python 脚本。运行名为 hello.py 的上层 Python 脚本:

pipenv run python hello.py

你将在控制台中看到预期结果。

启动一个 shell,运行:

pipenv shell

如果你想将当前使用 requirements.txt 文件的项目转换为使用 Pipenv,请安装 Pipenv 并运行:

pipenv install requirements.txt

这将创建一个 Pipfile 并安装指定的 requirements.txt。考虑一下升级你的项目!

了解更多

查看 Pipenv 文档,特别是 Pipenv 的基本用法,以帮助你进一步学习。Pipenv 的创建者 Kenneth Reitz 为 Pipenv 在最近的 PyTennessee 发表了一篇演讲:“Python 依赖管理的未来”。这次演讲没有被记录下来,但他的幻灯片有助于理解 Pipenv 所做的以及解决的问题。

关于如何使用Pipenv就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用Pipenv

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用Pipenv

这篇文章给大家介绍如何使用Pipenv,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Pipenv 是由 Kenneth Reitz 在一年多前创建的“面向开发者而生的 Python 开发工作流”,它已经成为管理软件包依
2023-06-17

pipenv 使用简介

之前在开发时一直使用 conda 使用作为虚拟环境管理工具,但有时候会经常会临时性的需要一个虚拟环境,如果使用 conda create 创建一个新环境,耗时不说,有时候还忘了删除,最后系统里一堆的虚拟环境。偶然发现 pipenv 后试用了
2023-01-31

python - pipenv 使用概览

欢迎访问我的blog:http://www.qnloft.com/blogpipenv 是 python的 包 / 虚拟环境管理工具。有点类似Java中maven。GitHub地址:https://github.com/pypa/pipen
2023-01-31

pipenv怎么在python中使用

pipenv怎么在python中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt
2023-06-14

使用pipenv创建虚拟环境的步骤

如何使用pipenv创建虚拟环境导语:虚拟环境是Python开发中的重要概念之一,它可以帮助我们隔离项目所需的依赖包,避免不同项目之间的包冲突。pipenv是Python社区中比较流行的虚拟环境管理工具,本文将介绍如何使用pipenv创建
使用pipenv创建虚拟环境的步骤
2024-01-16

pipenv如何创建虚拟环境

pipenv创建虚拟环境的步骤:1、确保已经安装了pipenv;2、打开终端或命令行界面,并导航到项目目录;3、在项目目录下运行“pipenv --venv”命令来创建虚拟环境;4、激活虚拟环境,激活后将看到命令行提示符前缀增加了“venv
pipenv如何创建虚拟环境
2023-11-23

使用pipenv创建虚拟环境的简明指南

简单易懂的指南:使用pipenv构建虚拟环境引言:在Python开发中,我们经常需要使用虚拟环境来隔离项目的依赖库,以确保不同项目之间的依赖关系不会相互干扰。pipenv是一个强大且用户友好的工具,可以帮助我们方便地创建和管理Python
使用pipenv创建虚拟环境的简明指南
2024-01-16

使用pipenv管理Python项目的技巧

如何使用pipenv环境管理Python项目引言:在Python开发中,环境管理是一项重要而又常被忽视的任务。好的环境管理能够提高项目的稳定性和可靠性,同时也能够有效降低开发和部署的难度。pipenv是一个优秀的Python环境管理工具,
使用pipenv管理Python项目的技巧
2024-01-16

怎么在python中使用pipenv创建环境

怎么在python中使用pipenv创建环境?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向
2023-06-14

创建虚拟环境:使用pipenv快速入门

快速上手pipenv:创建你的第一个虚拟环境在Python开发中,使用虚拟环境是一种常见的做法,它可以帮助我们隔离项目和依赖包之间的冲突,使得项目之间可以独立运行。而pipenv是一个Python包管理工具,它集成了虚拟环境和依赖包管理的
创建虚拟环境:使用pipenv快速入门
2024-01-16

使用pipenv逐步创建虚拟环境的指南

一步步教你使用pipenv建立虚拟环境导语:在Python开发过程中,使用虚拟环境可以帮助我们更好地管理依赖和项目,而pipenv是一个强大的工具,可以简化虚拟环境的创建和管理。本篇文章将带给你详细的步骤和具体的代码示例,教你如何使用pi
使用pipenv逐步创建虚拟环境的指南
2024-01-16

使用pipenv轻松搭建可靠的开发环境

使用pipenv环境轻松构建可靠的开发环境开发环境的构建对于开发人员来说非常重要。一个稳定、可靠且易于管理的开发环境能够提高开发效率,减少错误和冲突。在Python项目的开发中,pipenv是一个非常有用的工具,它能轻松帮助我们构建一个稳
使用pipenv轻松搭建可靠的开发环境
2024-01-16

学习使用pipenv:创建和管理虚拟环境

pipenv教程:创建和管理虚拟环境,需要具体代码示例介绍:随着Python的流行,项目开发数量也在不断增加。为了有效地管理项目中所使用的Python包,虚拟环境成为了必不可少的工具。在本文中,我们将介绍如何使用pipenv来创建和管理虚
学习使用pipenv:创建和管理虚拟环境
2024-01-16

crystaldiskinforh如何使用

这篇文章主要介绍“crystaldiskinforh如何使用”,在日常操作中,相信很多人在crystaldiskinforh如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”crystaldiskinfo
2023-02-09

pandas如何使用

小编给大家分享一下pandas如何使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、生成数据表 1、首先导入pandas库,一般都会用到numpy库,所以我们
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录