我正在尝试将 Flask Web 应用程序部署到 Heroku,但我看到了关于需要在 git 存储库中包含哪些文件的相互矛盾的信息。
我的 webapp 是在虚拟环境 (venv) 中构建的,所以我有一个 Pipfile
和一个 Pipfile.lock
.我还需要一个 requirements.txt
?一个会取代另一个吗?
我的另一个相关问题是,如果某个包无法在虚拟环境中安装会发生什么:我可以手动将它添加到 requirements.txt
中吗?或 Pipfile
?这会有效地做与 pipenv install ...
相同的事情吗?或者是在将包添加到需求列表之外做其他事情(考虑到 Heroku 在部署时安装包)。
最佳答案
您不需要requirements.txt
.Pipfile
和 Pipfile.lock
Pipenv 使用旨在取代 requirements.txt
.如果包含所有三个文件,Heroku 将忽略 requirements.txt
只需使用 Pipenv。
如果您在本地构建特定库时遇到问题,我敦促您深入研究并让所有内容在您的本地机器上正常运行。但这在技术上不是必需的……只要 Pipfile
和 Pipfile.lock
包含正确的信息(包括哈希),Heroku 将尝试安装您的依赖项。
关于heroku - heroku Flask webapp 部署中的requirements.txt vs Pipfile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63252388/