【问题标题】:Failed to install PyGObject in heroku在 heroku 中安装 PyGObject 失败
【发布时间】:2021-01-17 20:56:40
【问题描述】:

我在 Heroku 上的一个 python 项目中安装 PyGObject 时遇到了困难,但没有运气。

我还制作了一个空的 Heroku 应用程序,但我也无法在那里安装它。 (从 heroku bash 或需求文件中尝试使用 pip,总是相同的错误:https://pastebin.com/RcJvC9MJ

我也尝试通过 apt buildpack 安装它,但它似乎没有安装。我的 apt 文件包含来自 pygobject getting started python3-gi python3-gi-cairo gir1.2-gtk-3.0 的包。在构建阶段,它们似乎安装得很好,但应用程序看不到 pygobject。

尝试使用 pip 安装时,出现以下错误:https://pastebin.com/RcJvC9MJ。我尝试手动安装 pkg-config(通过将其添加到 Aptfile 中),但随后找不到另一个包(https://pastebin.com/SuVR25Ei)。然后我重复了这个过程(通过将新包添加到 Aptfile)。我花了一些时间向 aptfile 添加更多包,现在它有大约 300 个包(使用 apt 依赖项生成),但仍然没有运气。 (每次都有需要安装的包)

我也尝试删除'~/.cache/pip',如here,但它不起作用。

我也尝试过使用各种 python/pip 版本。

有人知道如何完成这项工作吗?

【问题讨论】:

    标签: python linux heroku pip pygobject


    【解决方案1】:

    我以前也遇到过类似的heroku问题

    sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 似乎是安装 PyGObject 的建议方式。

    此解决方案最有可能奏效,但如果这也无济于事,我最好的建议是使用 Docker。

    创建一个heroku.yml 文件和一个Dockerfile。 这个heroku.yml文件可以作为例子。

    如果您使用 heroku CLI,您可以运行 heroku stack:set container 将您的堆栈更改为 docker 容器。

    我还建议让 heroku 使用 heroku.yml 文件中的规范构建镜像,而不是将镜像推送到容器注册表中。

    我希望这会有所帮助。

    【讨论】:

    • 我不熟悉 docker,但我也认为它可能是一个潜在的解决方案。我会在未来几天尝试一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    相关资源
    最近更新 更多