【问题标题】:Why does can't heroku find the gdal204.dll file on app deployment?为什么heroku在应用部署时找不到gdal204.dll文件?
【发布时间】:2020-04-12 04:36:55
【问题描述】:

我正在 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 在部署时返回的错误:

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

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

【问题讨论】:

    标签: django postgresql heroku geodjango


    【解决方案1】:

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

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

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

    【讨论】:

    • 我这样做并重新部署了应用程序。现在我收到了这个错误:Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable?
    • @Osaro 这是一个不相关的错误,检查你的requirement.txt或pipfile中是否有django
    • 是的,它就在那里。在我添加构建包之前它工作正常。
    • @Osaro 你添加了哪个 buildpack?
    • @Osaro 只是一个想法:您是否可能不小心更换了 buildpack?蟒蛇还在吗?
    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 2018-03-01
    相关资源
    最近更新 更多