为什么 heroku 在应用部署时找不到 gdal204.dll 文件?

Why does can't heroku find the gdal204.dll file on app deployment?

我正在 heroku 上部署一个 django postgres sql 应用程序。在我的机器上一切正常(windows 10)。但是,每当我尝试部署到 heroku 时,它都会说找不到 gdal204.dll 文件。

这就是我目前在我的应用程序设置中引用 gdal 文件的方式:

GDAL_LIBRARY_PATH = 'C:\Users\IFY\Downloads\publish\Lib\site-packages\osgeo\gdal204.dll'

我怀疑是我引用文件的方式导致了问题。

这是部署时 heroku returns 的错误:

OSError: C:\Users\IFY\Downloads\publish\Lib\site-packages\osgeo\gdal204.dll: cannot open shared object file: No such file or directory

知道如何解决这个问题吗?

Heroku 在他们的服务器上不是 运行 windows,而是 Linux。所以不会有DLL文件。

在 python-buildpack Heroku installs GDAL for you 中,因此您不必这样做。此外,还设置了相应的环境变量 (LD_LIBRARY_PATH),以便您的应用可以找到该库。

TLDR:对于 Heroku,您应该 在您的设置中设置 GDAL_LIBRARY_PATH,并让 python 自行查找共享库。它会起作用。