【问题标题】:How can I deploy a Flask app containing a Kik bot to Heroku? (Python)如何将包含 Kik 机器人的 Flask 应用程序部署到 Heroku? (Python)
【发布时间】:2022-06-17 23:32:23
【问题描述】:

愚蠢的新手问题,我似乎无法使用 git 在 Heroku 控制台中安装我需要的内容,但我的应用程序/机器人依赖于我通常使用的内容。我对 git 和 pip 如何工作,或者问这样一个问题的正确术语知之甚少,所以对我来说太赤裸裸了! 我有一个用Tomer8007's Kik Bot API 制作的机器人,我已经嵌入到 Flask 中并想部署到 Heroku。我以前在那里部署过 Flask 站点,它们的工作方式非常棒,但是因为我使用 Heroku CLI 通过 git 将所有内容导入 Heroku,所以我无法导入已经在使用 git 的站点。 我通常使用这两个命令来获取和安装该项目所需的依赖项:

git clone -b new https://github.com/tomer8007/kik-bot-api-unofficial
pip install ./kik-bot-api-unofficial

我尝试在没有 git 的情况下手动下载和安装 API,但是当我尝试运行它时它抛出了这个错误:“TypeError: 无法将 proto 文件构建到描述符池中:重复文件名 (google/protobuf /descriptor.proto)",而当我使用上述两个命令时,它工作得非常好。 (这是本地的顺便说一句)。 我还尝试在使用这些命令之前导入 heroku,而是在 heroku 控制台中使用它们,但是当我尝试时它会抛出一堆错误。在本地使用这些命令后我也无法导入它,因为我已经使用了 git。 (不过我不确定它是如何工作的,这就是我在这里的原因。)

procfile.txt、requirements.txt、runtime.txt 等中的所有内容都很好,唯一的问题是获取 Kik 机器人的 API。当我尝试手动下载它而不是使用 git clone 或者我有什么替代选项时,我不知道发生了什么。有什么指点吗?

【问题讨论】:

  • 您使用的是哪个版本的pippython?根据 github repo 中的评论:First, make sure you are using Python 3.6+, not python 2.7. Second, just install it directly from GitHub:
  • @azbarcea 我使用的是 3.8,因为 3.9+ 显然与这个 api 有一些问题,这在 github 上的一个错误问题中得到了解决。我也在使用最新版本的 pip,在尝试安装任何东西之前我都会使用升级 pip 命令。

标签: python flask heroku pip kik


【解决方案1】:

显然,duplicate file name (google/protobuf/descriptor.proto) 错误是由大于 4 的版本中的 protobuf 包中的重大更改引起的。

这是now fixed,也应该适用于 Python 3.9+。

【讨论】:

    猜你喜欢
    • 2012-11-22
    • 2018-04-07
    • 2020-04-09
    • 2015-05-20
    • 2020-01-23
    • 2017-12-05
    • 2021-02-19
    • 2016-12-24
    相关资源
    最近更新 更多