在 Windows 10 上使用 python 3.6.4 安装 Gdal:致命错误 C1083:无法打开包含文件:'cpl_port.h'

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

所以我尝试 pip install gdal 但出现错误。

  extensions/gdal_wrap.cpp(3168): fatal error C1083: Cannot open include file: 'cpl_port.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.13.26128\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

所以我正在运行以下命令:

  • Python 3.6.4 anaconda 发行版
  • Windows 10 (x64)
  • Microsoft Visual 2017 重新分发 x64 和 x86(均由 vs builder 工具安装)

之前安装MS Visual就是因为这个错误

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

这是错误的跟踪日志:

 C:\Users\0\Desktop\>pip install gdal
Collecting gdal
  Using cached GDAL-2.2.4.tar.gz
Building wheels for collected packages: gdal
  Running setup.py bdist_wheel for gdal ... error
  Complete output from command c:\users\0\envs\ecoscan\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\0\\AppData\\Local\\Temp\\pip-build-wc3za_f8\\gdal\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\0\AppData\Local\Temp\tmp9t7nk1ompip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.6
  copying gdal.py -> build\lib.win-amd64-3.6
  copying ogr.py -> build\lib.win-amd64-3.6
  copying osr.py -> build\lib.win-amd64-3.6
  copying gdalconst.py -> build\lib.win-amd64-3.6
  copying gnm.py -> build\lib.win-amd64-3.6
  creating build\lib.win-amd64-3.6\osgeo
  copying osgeo\gdal.py -> build\lib.win-amd64-3.6\osgeo
  copying osgeo\gdalconst.py -> build\lib.win-amd64-3.6\osgeo
  copying osgeo\gdalnumeric.py -> build\lib.win-amd64-3.6\osgeo
  copying osgeo\gdal_array.py -> build\lib.win-amd64-3.6\osgeo
  copying osgeo\gnm.py -> build\lib.win-amd64-3.6\osgeo
  copying osgeo\ogr.py -> build\lib.win-amd64-3.6\osgeo
  copying osgeo\osr.py -> build\lib.win-amd64-3.6\osgeo
  copying osgeo\__init__.py -> build\lib.win-amd64-3.6\osgeo
  Fixing build\lib.win-amd64-3.6\gdal.py build\lib.win-amd64-3.6\ogr.py build\lib.win-amd64-3.6\osr.py build\lib.win-amd64-3.6\gdalconst.py build\lib.win-amd64-3.6\gnm.py build\lib.win-amd64-3.6\osgeo\gdal.py build\lib.win-amd64-3.6\osgeo\gdalconst.py build\lib.win-amd64-3.6\osgeo\gdalnumeric.py build\lib.win-amd64-3.6\osgeo\gdal_array.py build\lib.win-amd64-3.6\osgeo\gnm.py build\lib.win-amd64-3.6\osgeo\ogr.py build\lib.win-amd64-3.6\osgeo\osr.py build\lib.win-amd64-3.6\osgeo\__init__.py
  Skipping optional fixer: ws_comma
  Fixing build\lib.win-amd64-3.6\gdal.py build\lib.win-amd64-3.6\ogr.py build\lib.win-amd64-3.6\osr.py build\lib.win-amd64-3.6\gdalconst.py build\lib.win-amd64-3.6\gnm.py build\lib.win-amd64-3.6\osgeo\gdal.py build\lib.win-amd64-3.6\osgeo\gdalconst.py build\lib.win-amd64-3.6\osgeo\gdalnumeric.py build\lib.win-amd64-3.6\osgeo\gdal_array.py build\lib.win-amd64-3.6\osgeo\gnm.py build\lib.win-amd64-3.6\osgeo\ogr.py build\lib.win-amd64-3.6\osgeo\osr.py build\lib.win-amd64-3.6\osgeo\__init__.py
  Skipping optional fixer: ws_comma
  running build_ext
  building 'osgeo._gdal' extension
  creating build\temp.win-amd64-3.6
  creating build\temp.win-amd64-3.6\Release
  creating build\temp.win-amd64-3.6\Release\extensions
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.13.26128\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -I../../port -I../../gcore -I../../alg -I../../ogr/ -I../../ogr/ogrsf_frmts -I../../gnm -I../../apps -Ic:\users\0\anaconda3\include -Ic:\users\0\anaconda3\include -I. "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.13.26128\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\cppwinrt" /EHsc /Tpextensions/gdal_wrap.cpp /Fobuild\temp.win-amd64-3.6\Release\extensions/gdal_wrap.obj
  gdal_wrap.cpp
  extensions/gdal_wrap.cpp(3168): fatal error C1083: Cannot open include file: 'cpl_port.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Tools\\MSVC\\14.13.26128\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

有什么想法可以解决这个问题吗?我只想使用 gdal 中的

ogr2ogr
将 .shp 转换为 GeoJSON,然后转换为 topojson。

python python-3.x installation windows-10 gdal
3个回答
2
投票

我遇到了同样的问题,并在这里找到了解决方案: gdal-安装-错误-使用-pip

即:下载wheel文件并通过命令行安装。


1
投票

我更喜欢使用 conda,我在同一个问题上被困了好几个小时,这是我找到的安装 GDAL 的唯一解决方案。

conda安装gdal


0
投票

通过轮子安装。

从这里下载适合您的轮子 - https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal

车轮名称的格式,例如GDAL-3.4.3-cp310-cp310-win_amd64.whl.

说明:GDAL-VERSION-PYTHON_VERSION-PYTHON_VERSION-OS-ARCHITECTURE

使用

python -m pip install GDAL-3.4.3-cp310-cp310-win_amd64.whl

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