2

我正在尝试将诗歌作为 python 虚拟环境的系统,但我以前从未将它部署到 heroku,而且我一点运气都没有。

我现在用两个不同的新诗歌项目和两个不同的新 git 存储库尝试了这个。我:

  1. 创建一个新鲜的诗歌项目
  2. 将其初始化为 git repo
  3. 添加所有相关库(诗歌添加烧瓶 gunicorn 等)
  4. 添加包含整个应用程序的 SINGLE 文件,并将其推送到使用https://elements.heroku.com/buildpacks/moneymeets/python-poetry-buildpack中的诗歌 buildpack 配置的 heroku
  5. 当我尝试直接运行文件时,我的 Procfile 是“web: python project/website.py”,我得到“ModuleNotFoundError: No module named 'flask'”(在文件的第一行导入)
  6. 当我尝试间接运行文件时(因为它可能会有所不同?)我的 Procfile 是“web: gunicorn wsgi:app”,我得到“bash: gunicorn: command not found”
  7. 我绝对确定 pyproject.toml 是最新的,并且通过使用“heroku run bash”查看 heroku 服务器上的构建文件,手动验证了它生成的 requirements.txt 文件是否包含烧瓶和 gunicorn
  8. 我试过重置heroku缓存,在构建之前手动创建requirements.txt,清空,然后重新填充requirements.txt,以及其他我确定的事情。每次我都会遇到这两个错误之一。我看到的关于这个问题的所有问题都只是询问库是否在需求文件中。我的是。他们没有被看到,被发现,或注意到,或使用,或其他东西。

我完全不知道还能做什么。经过这么多次尝试之后,唯一理智的事情似乎就是只使用 pipenv,但这个错误似乎很明显,而且可能很简单,它让我完全发疯了。

编辑(回应评论):我的文件树已经通过不同的尝试来改变,所以我尝试了一些配置。有时 Procfile 和 app 文件在同一个顶级目录中——我也尝试过在顶级有一个 runserver 脚本,并将 app 脚本放在另一个目录中。

我也尝试过拥有和不拥有本地 requirements.txt 文件,以防诗歌没有按预期成功创建它们,但是当在 heroku 上启动时,诗歌构建似乎确实成功地构建了自己的。我在heroku机器上检查了那个,它包含烧瓶和gunicorn的行(除其他外,但这些是系统说缺少的特定两个)

4

1 回答 1

-1

测试在本地运行“诗歌运行烧瓶运行”。

于 2021-06-30T09:10:13.503 回答