问题描述
昨天我一直在努力在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版本。
有人对如何使这项工作有任何线索吗?
解决方法
我以前在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
文件中的规范来构建映像,而不是将映像推送到容器注册表中。
我希望这会有所帮助。