首页 > 解决方案 > Heroku烧瓶webapp部署中的requirements.txt vs Pipfile?

问题描述

我正在尝试将 Flask webapp 部署到 Heroku,但我看到了关于我需要在 git 存储库中包含哪些文件的冲突信息。

我的 webapp 是在虚拟环境 (venv) 中构建的,所以我有一个Pipfile和一个Pipfile.lock. 我还需要一个requirements.txt吗?一个会取代另一个吗?

我遇到的另一个相关问题是,如果某个包无法在虚拟环境中安装会发生什么:我可以手动将它添加到requirements.txtorPipfile吗?除了将包添加到需求列表之外(考虑到 Heroku 在部署时安装包),这会有效地做同样的事情pipenv install ...还是做其他事情。

标签: herokupippython-venvrequirements.txtpipfile

解决方案


你不需要requirements.txt

Pipenv 使用的PipfileandPipfile.lock旨在替换requirements.txt. 如果你包含所有三个文件,Heroku 将忽略requirements.txt并只使用 Pipenv。

如果您在本地使用特定库构建问题,我敦促您深入研究并让所有内容在您的本地计算机上运行。但这在技术上不是必需的……只要PipfilePipfile.lock包含正确的信息(包括哈希),Heroku 就会尝试安装您的依赖项。


推荐阅读