gdal:使用 docker 容器中的 python 绑定从源代码构建

问题描述 投票:0回答:1

我正在努力从源代码构建 gdal 功能分支。我的环境是 docker,带有 ubuntu 基础镜像。

它构建得很好,但是调用

gdal2tiles.py
会引发臭名昭著的

ModuleNotFoundError: No module named 'osgeo'

这些是我在 docker 容器中的构建步骤:

RUN cmake -DBUILD_PYTHON_BINDINGS=ON -DCMAKE_BUILD_TYPE=Release ..
RUN cmake --build .
RUN cmake --build . --target install

显然我缺少一些能够在 python 中导入

osgeo
的东西。但这是什么?

python docker ubuntu cmake gdal
1个回答
0
投票

我成功了。在我的例子中,GDAL 安装在 /usr/local 前缀下,并且 Python 默认情况下不会尝试在那里查找它。两种解决方案:

  • 定义

    PYTHONPATH=/usr/local/lib/python3/dist-packages

  • 修改第一个 cmake 调用以将

    CMAKE_INSTALL_PREFIX
    设置为
    /usr
    :

cmake -DBUILD_PYTHON_BINDINGS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ..

© www.soinside.com 2019 - 2024. All rights reserved.