Я пытаюсь создать ветку функций gdal из исходного кода. Моя среда — докер с базовым образом Ubuntu.
Он строится нормально, но вызов gdal2tiles.py
выбрасывает пресловутую
ModuleNotFoundError: No module named 'osgeo'
Это мои шаги сборки в моем докер-контейнере:
RUN cmake -DBUILD_PYTHON_BINDINGS=ON -DCMAKE_BUILD_TYPE=Release ..
RUN cmake --build .
RUN cmake --build . --target install
Очевидно, мне чего-то не хватает для возможности импорта osgeo
в Python. Но что это такое?
У меня это работает. В моем случае 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 ..