如何在 Python 3.6 venv 上安装 GDAL

How to pip install GDAL on Python 3.6 venv

gdal 已正确安装在我的全局系统的 python 3.5 软件包中。 但现在我正尝试在我的 python 3.6 虚拟环境中 pip install gdal,但我收到多个错误。

激活虚拟环境后,我尝试了以下操作:

  1. pip install pygdalpip3 install pygdal 收到错误:ERROR: Failed building wheel for pygdal

  2. 已尝试遵循 this guide,但其中所述的命令已过时

  3. 我也试过 and this但失败了

  4. 安装了较旧的 gdal 版本但也没有用。

  5. 试过pip3 install GDAL==$(gdal-config --version),我得到同样的错误

我用 Ubuntu 16.04 和 pip 21.0.1。 Venv 是使用 virtualenv --python=/usr/bin/python3.6 my_venv

创建的

编辑:这个答案更适合 Windows 而不是 Ubuntu,但可能有一些有用的东西。

尝试从这里下载一个轮子: https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal

注意中间的“cp##”——它应该与您的 Python 版本匹配。如果您使用的是 运行ning Python 3.6,那么您应该会在文件名中看到“cp36”(名称中的“cp37”表示轮子将失效)。还要注意 amd64 和 win32,以确保您拥有与您的 Python 虚拟环境相匹配的正确版本。

我在 Windows 而不是 Ubuntu,但这是我的过程:

  1. 使用 cmd 打开命令提示符
  2. 从 Windows Explorer 复制虚拟环境中 activate.bat 的路径(按住 shift 键,右键单击文件,选择 “复制为路径”)
  3. 将路径粘贴到控制面板中并按回车键。您应该会看到一个指示器,表明您处于虚拟环境中。
  4. 使用相同的 shift 键技巧将您下载的 wheel 路径复制到剪贴板。
  5. 键入 'pip install ' 然后粘贴剪贴板中的车轮路径(或手动全部键入)

顺便说一句,我最终在 osgeo 模块中安装了 gdal。在我到达这里之前我尝试了几件事,但我很确定我从方向盘上安装时发生了这种情况。在Python,我现在使用

from osgeo import gdal

希望这里的内容对您有所帮助。我已经 运行 参与了几次,但我似乎永远都不记得下次我 运行 是如何完成它的。如果我这次没记错的话,可以回头参考一下。

FWIW - 我正在使用 PyCharm 并且无法通过项目解释器安装 gdal。此外,在通过命令提示符安装后,可能需要 PyCharm 更新骨架。

我终于解决了这个问题,这些是我遵循的步骤:

  1. 我从我的 venv 卸载了 wheel

  2. 然后我在venv上pip安装了gdal,看看会出现什么错误

  3. 出现了一堵错误文本墙,其中我注意到了 'x86_64-linux-gnu-gcc' failed with exit status 1

  4. 我输入 sudo apt-get install python3.6-dev 来安装缺少的包,因为 the solution suggests here

  5. 然后我 运行 pip install GDAL=<version that appears on ogrinfo --version> 成功了