python pipenv_如何使用Pipenv管理Python项目

Pipenv是一款整合Python虚拟环境和包管理的工具,简化了项目环境和依赖的管理。它自动创建和管理虚拟环境,生成依赖列表,方便他人以相同环境设置项目。本文介绍了Pipenv的运作原理、安装、新建项目、锁文件的作用以及如何使用Pipenv管理现有项目。
摘要由CSDN通过智能技术生成

python pipenv

Python的软件包生态系统使您可以通过简单的pip install命令利用数百万其他开发人员的工作。 借助Python的虚拟环境,您可以将项目及其包彼此隔离。

但是,将环境和程序包分开处理可能很麻烦。 如果您的项目有特定的程序包要求,并且您想专注于开发而不是维护,那么这是令人怀疑的。 我们需要的是一种将环境和程序包一起管理的方法。

Pipenv将Python虚拟环境和Python软件包的管理整合到一个工具中。 Pipenv确保每个项目使用所需的每个程序包的正确版本,并且每个程序包也具有正确的依赖性。

此外,Pipenv会生成项目随行的依赖项列表,从而允许其他用户或开发人员以相同的方式设置相同的项目。 其他用户也需要安装Pipenv才能正确设置由Pipenv管理的项目,但是幸运的是,安装和使用Pipenv轻而易举。

Pipenv如何运作

通常,当您创建一个Python项目并将虚拟环境用于其程序包时,您需要自己创建虚拟环境(使用py -m venv命令),将依赖项安装到其中,并手动跟踪依赖项。

Pipenv提供了一种半自动完成所有这些操作的方法。 通过Pipenv的命令行界面安装软件包时,将为您创建和管理项目的虚拟环境。 跟踪和锁定了相关性,您可以分别管理开发和运行时相关性。 您还可以从现有的老式学校requirements.txt文件进行迁移,因此无需拆开项目并从头开始就可以很好地使用Pipenv。

请注意,与其他Python项目管理工具( 例如Poetry )不同,Pipenv不会管理项目的“脚手架”。 也就是说,Pipenv不会使用模拟测试,文档存根等来创建项目目录的内部结构,而是主要关注软件包和环境管理。 如果您只想让工具专注于虚拟环境和软件包,而不是一站式解决方案,那么Pipenv就是一个不错的选择。

胡椒 IDG

使用Pipenv将软件包安装到新创建的项目目录中。 Pipenv创建一个虚拟环境来存储该软件包(如果尚不存在)。

开始使用Pipenv

Pipenv的安装方式与大多数其他Python软件包相同: pip install --user pipenv 。 建议使用--user选项,以防止Pipenv与其他系统范围的软件包冲突。 您还应该将用户基本二进制目录的路径添加到系统路径 ,以使Pipenv命令被路由到正确的位置。

如果您计划使Pipenv成为工作流程的一致部分,那么也建议尽量减少底层Python安装。 该建议适用于大多数使用虚拟环境的Python安装。

用Pipenv建立一个新项目

要使用Pipenv开始一个全新的项目,只需创建一个目录,然后使用通常为该项目创建的文件填充该目录即可。 如果您倾向于随手搭建一个项目,则可以从一个空目录开始。

Pipenv的安装项目包与Pip的安装包没有明显的不同。 实际上,语法几乎相同。 在项目目录中打开一个控制台,然后键入pipenv install <package_name>为该项目安装一个软件包。 要指定该软件包用于开发 ,请使用-d标志。 您可以使用pip语法来表示软件包的特定版本(例如, black==13.0b1 )。

使用Pipenv安装软件包时,会发生两件事。 首先,Pipenv将检查是否已经为此项目目录创建了虚拟环境。 如果是,Pipenv会将软件包安装到现有的虚拟环境中。 如果否,Pipenv将创建一个虚拟环境,该虚拟环境使用与运行Pipenv相同的Python版本。 请注意,虚拟环境不是在项目目录本身中创建的。 它是在用户配置文件中由Pipenv管理的目录中创建的。

其次,Pipenv将请求的软件包安装到虚拟环境。 安装完成后,Pipenv将报告所做的所有工作,包括必须创建虚拟环境的路径。

通常,您不需要知道Pipenv创建的虚拟环境的路径。 要激活环境,只需导航到您的项目目录并使用pipenv shell启动新的shell会话,或使用pipenv run <command>直接运行命令。 例如,使用pipenv run mypy运行的命令行工具版本mypy (假设mypy被安装在虚拟环境中的工具),或pipenv run python -m <module>运行在虚拟环境中可用的Python模块。

Pipenv和锁文件

使用Pipenv安装软件包后,请在目录中浏览,您将看到两个文件PipfilePipfile.lock 。 两者都是由Pipenv自动生成的,因此不应直接进行编辑,因为它们描述了项目中软件包的状态。

Pipfile是两者中较简单的一个。 它仅列出了项目所需的软件包,从何处安装(默认是PyPI)以及运行所有程序所需的Python版本。 Pipfile.lock更复杂。 它列出了每个软件包以及版本详细信息和从该软件包生成的SHA-256哈希。 散列用于确保已安装的软件包与指定的软件包完全匹配-不仅是版本号,还包括获得的内容。

在使用Pipenv进行程序包管理的项目上工作时,您需要将PipfilePipfile.lock文件添加到该项目的版本控制存储库中。 对项目的软件包所做的任何更改都会更改这些文件,因此应跟踪和更改这些版本。

使用Pipenv项目

如果为使用Pipenv进行软件包管理的项目下载源存储库,则您要做的就是将存储库的内容解压缩到目录中并运行pipenv install (不需要软件包名称)。 Pipenv将读取项目的PipfilePipfile.lock文件,创建虚拟环境,并根据需要安装所有依赖项。

最后,如果您想使用Pipenv来管理当前使用requirements.txt文件的项目,只需导航至该项目的目录并运行pipenv install 。 Pipenv将检测requirements.txt (或者您可以使用-r标志指向它)并将所有需求迁移到Pipfile

翻译自: https://www.infoworld.com/article/3561758/how-to-manage-python-projects-with-pipenv.html

python pipenv

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值