[英]Python can't import gdal even though pip says it's installed - ubuntu hirsute & impish specific
更新澄清:在 ubuntu:focal 上为 Python 安装 gdal 的步骤似乎适用于 ubuntu:hirsute 和 ubuntu:impish,pip 报告已安装 gdal。 但是尝试导入它只会在多毛和顽皮上给出 ModuleNotFoundError ,而不是焦点。
我花了一段时间试图弄清楚如何在基于ubuntu:hirsute
的 docker 映像中安装 gdal。 我到达了安装看起来成功的地方,并且 pip 认为 gdal 已安装。 如果我从ubuntu:hirsute
降级到ubuntu:focal
,则以下示例运行正确,但是对于 hirsute 或 impish 它给出:
=> ERROR [6/6] RUN python3 /src/test_gdal.py 0.3s
------
> [6/6] RUN python3 /src/test_gdal.py:
#10 0.305 Traceback (most recent call last):
#10 0.305 File "/src/test_gdal.py", line 1, in <module>
#10 0.305 import gdal
#10 0.305 ModuleNotFoundError: No module named 'gdal'
重现:将这两个文件放在一个目录中并运行docker build .
从那个目录。
test_gdal.py:
import gdal
Dockerfile
FROM ubuntu:hirsute
SHELL ["/bin/bash", "-c"]
RUN apt-get update -y && \
apt-get install -y python3.9 && \
apt-get install -y pip
RUN apt-get update && \
apt-get install -y gdal-bin && \
apt-get install -y libgdal-dev
RUN pip install gdal
COPY . /src
RUN python3 /src/test_gdal.py
既然它救了我,我将继续添加罗伯特戴维的评论作为答案:
https://gdal.org/api/python.html#usage显示,从 GDAL 3.1 开始,gdal 等现在是 osgeo 中的包,因此您不会使用
# Outdated
import gdal
但与
from osgeo import gdal
不知道它是否解决了你的问题,我在 Windows 上——操作系统可能并不重要,只安装了 gdal 的版本? 但是,由于这可以回答您问题的主要思想,因此将为碰巧遇到相同问题的其他人提供一个选项,这些人碰巧使用带有直接导入 gdal 命令的旧代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.