【PyCharm教程】PyCharm 使用 Pipfile

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