导入错误: 访问Heroku应用程序时出现libGL.so.1错误

16

我无法访问我的Heroku应用,因为出现以下错误:

2020-09-11T10:25:09.492648+00:00 app[web.1]: ImportError: libGL.so.1: cannot open shared object file: No such file or directory

我已经尝试过的是:

  1. 在Aptfile中添加以下内容:
  • libsm6
  • libxrender1
  • libfontconfig1
  • libice6
  1. 添加 buildpack https://github.com/heroku/heroku-buildpack-apt
  2. 在 requirements 中使用 opencv-python-headless

但都没有起作用。

有人知道问题出在哪里吗?

4个回答

17

我曾经遇到同样的问题,我在我的requirements.txt中增加了以下一行:

opencv-python-headless==4.2.0.32

对我而言它起作用了。


3
谢谢,它运作了。唯一的问题就是版本,去掉特定的版本号,它就能正常工作了。 - Kushal Bhavsar

15

TL:DR - 在Aptfile中添加'libgl1'。

我想任何类型的导入错误修复方法都是这样的:

如果你有一个类似于libGL.so.1 的库错误,你应该把库名变成小写(在本例中为 'libgl'),并在名称结尾处加上数字(在本例中为 '1') - 这样你就得到一个单词libgl1。现在将该单词写入Aptfile中。

如果你没有Aptfile,只需在根目录下创建它 - 这个文件没有任何扩展名。


2
要使用 Aptfile,您需要添加一个构建包。请按照此处构建包 GitHub 上的说明操作: https://github.com/heroku/heroku-buildpack-apt - Cassova

5

0

在 requirements.txt 中放置 opencv-python-headless,不需要指定版本。现在重新构建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接