使用 Pipfile 管理依赖项
最后修改时间:2023 年 9 月 19 日Pipfile是Pipenv 虚拟环境用来管理项目依赖关系的专用文件。该文件对于使用 Pipenv 至关重要。当您为新项目或现有项目创建 Pipenv 环境时,会自动生成Pipfile 。该文件已添加到当前项目中,您可以在“项目”工具窗口中看到它。同样,当您第一次在 IntelliJ IDEA 中打开带有Pipfile文件的项目时,会自动配置 Pipenv 虚拟环境。
考虑从头开始创建依赖项列表的任务。
在Pipfile中记录依赖关系来管理项目包
当 IntelliJ IDEA 为新的 pipelinev 虚拟环境创建Pipfile时,该文件如下所示:
该
python_version
参数是您在创建新的 pipelinev 环境时指定的基本解释器的版本。该packages
部分是您可以列出项目所需的包的地方。请注意,IntelliJ IDEA 建议您安装 Pipfile 特定插件。单击相应的链接安装 Tom's Obvious, Minimal Language ( TOML )插件。您必须重新启动 IntelliJ IDEA 才能启用该插件。重启后,您将看到确认Pipfile格式已被识别的消息:
通过修改该部分添加新的包依赖项
packages
。[packages] django = "*"
每当您修改Pipfile文件时,IntelliJ IDEA 都会建议您执行以下操作之一:
pipenv lock
— 将新要求记录到Pipfile.lock文件中。pipenv update
— 将新要求记录到Pipfile.lock文件并在 Python 解释器上安装缺少的依赖项。
这一步非常重要,因为IntelliJ IDEA根据Pipfile.lock文件中记录的信息来管理项目依赖关系。因此,添加到Pipfile但未锁定的任何要求都将被忽略。
让我们选择
pipenv update
安装 Django 包的命令。导航至文件 | Project Structure ,在Platform Settings中选择SDKs,然后选择Pipenv SDK。确保 Django 位于已安装软件包的列表中。CtrlAltShift0S
现在探索相反的工作流程。在Packages选项卡中,单击添加 Flask 包。请注意,pipenv 限制使用标准过程配置索引。所有可用的包都是从Pipfile中指定的源添加的。这些软件包是通过 pipelinev 而不是通过 pip 安装、删除和更新的。
添加 Flask 包后,关闭可用包对话框并查看Pipfile。该
[packages]
部分现在如下所示:[packages] django = "*" flask = "*"
提示
[packages]
和部分之间的区别[dev-packages]
在于,[packages]
定义了生产和开发环境的要求,而[dev-packages]
仅列出了用于开发目的的要求。
IntelliJ IDEA 会跟踪Pipfile中列出的任何要求是否未得到满足,并建议您应用受影响的依赖项。
应用依赖关系
考虑一下当您签出或更新项目源文件并看到以下消息时的情况:
因此,IntelliJ IDEA 报告您的虚拟环境不满足当前版本的Pipfile中列出的要求。
单击从 Pipfile.lock 安装要求以安装缺少的软件包。
您可能已经注意到,Pipfile.lock文件与Pipfile一起在管理 pipelinenv 项目需求方面发挥着关键的重要作用。每次执行 或时,都会拍摄虚拟环境的当前快照。检查以下片段:pipenv lock
pipenv update
该文件记录了为项目安装的软件包的确切版本。它还生成了哈希代码以促进应用程序的安全部署。当您从不受信任的来源下载依赖项时,哈希代码用于确保项目文件是受信任的。
感谢您的反馈意见!