heroku - Heroku烧瓶webapp部署中的requirements.txt vs Pipfile?
问题描述
我正在尝试将 Flask webapp 部署到 Heroku,但我看到了关于我需要在 git 存储库中包含哪些文件的冲突信息。
我的 webapp 是在虚拟环境 (venv) 中构建的,所以我有一个Pipfile
和一个Pipfile.lock
. 我还需要一个requirements.txt
吗?一个会取代另一个吗?
我遇到的另一个相关问题是,如果某个包无法在虚拟环境中安装会发生什么:我可以手动将它添加到requirements.txt
orPipfile
吗?除了将包添加到需求列表之外(考虑到 Heroku 在部署时安装包),这会有效地做同样的事情pipenv install ...
还是做其他事情。
解决方案
你不需要requirements.txt
。
Pipenv 使用的Pipfile
andPipfile.lock
旨在替换requirements.txt
. 如果你包含所有三个文件,Heroku 将忽略requirements.txt
并只使用 Pipenv。
如果您在本地使用特定库构建问题,我敦促您深入研究并让所有内容在您的本地计算机上运行。但这在技术上不是必需的……只要Pipfile
和Pipfile.lock
包含正确的信息(包括哈希),Heroku 就会尝试安装您的依赖项。
推荐阅读
- python - 在 Jupyter Notebook 中运行 FEniCS
- java - 如何在具有扩展另一个接口的接口的实现上设置限定符
- dji-sdk - 运行示例 OSDK 应用程序的正确方法是什么?
- visual-studio - 获取 currentSelectedGameObject 不会停止射击
- python-3.x - 如何使用 psycopg2 恢复数据库转储
- css - Laravel+Vue 聊天室逻辑与设计
- node.js - Node Js Async Await 给出第一个响应 Empty
- python - Python“yaml”模块将意外的 YAML 从 JSON 格式转换
- ios - NativeScript 错误:安装失败:无法将应用程序传输到设备
- linux - 如何在 --function 中添加参数