安装geopandas时出错:在Anaconda中必须指定GDAL API版本

时间:2019-02-17 15:20:31

标签: python anaconda conda geopandas

在安装geopandas时引发此错误。我一直在网上寻找它的解决方案,但是没有一个人能真正解释发生了什么以及如何解决。 这是完整的错误:

    Collecting geopandas
  Using cached https://files.pythonhosted.org/packages/24/11/d77c157c16909bd77557d00798b05a5b6615ed60acb5900fbe6a65d35e93/geopandas-0.4.0-py2.py3-none-any.whl
Requirement already satisfied: shapely in c:\users\alvaro\anaconda3\envs\tfdeeplearning\lib\site-packages (from geopandas) (1.6.4.post2)
Requirement already satisfied: pandas in c:\users\alvaro\anaconda3\envs\tfdeeplearning\lib\site-packages (from geopandas) (0.20.3)
Collecting fiona (from geopandas)
  Using cached https://files.pythonhosted.org/packages/3a/16/84960540e9fce61d767fd2f0f1d95f4c63e99ab5d8fddc308e8b51b059b8/Fiona-1.8.4.tar.gz
    Complete output from command python setup.py egg_info:
    A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\Alvaro\AppData\Local\Temp\pip-install-oxgkjg8l\fiona\

10 个答案:

答案 0 :(得分:7)

我自己在安装geopandas时遇到了很多问题,大多数在下载fiona和gdal时显示错误。我做了上面的每一步,并做了一个conda安装geopandas,但是失败了。对我唯一有效的方法是分别安装fiona和gdal轮。

转到Christoph的链接:gohlke:https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona

  • 您可以搜索fiona和gdal wheel文件。确保您选择的文件符合您的python版本,如果为3.7,则为cp37。
  • 下载文件
  • 转到命令提示符,先放入cd,然后进行pip install,安装GDAL wheel文件,然后安装fiona,然后进行pip install geopandas。

此解决方案对我有用。

答案 1 :(得分:3)

地理空间数据抽象库(GDAL)是为矢量地理空间数据格式设计的库。这是安装Fiona(用于OGR的Python API,doesn't really stand for anything)的先决条件,而Fiona则是Geopandas的先决条件。在类似UNIX的系统上,(function(){ angular.module('testApp.process') .component('testCheck', { templateUrl: 'html/check/test.html', controller: TestController }); TestController.$inject = ['$scope', 'testService', 'uiGridService', 'browseGridService', 'modal']; function TestController($scope, testService, uiGridService, browseGridService, modal){ /** Bindings **/ var $ctrl = this; /** Functions **/ $ctrl.$onInit = onInit; /** Implementation **/ function onInit(){ // init ui-grid $ctrl.testGrid = uiGridService.create({ elementName : 'Test', storageName : 'testGrid', loadData : loadData }); $ctrl.testGrid.gridOptions.appScopeProvider.onDblClick = function(row) {}; $ctrl.testGrid.gridOptions.enableSorting = true; $ctrl.testGrid.gridOptions.enableSingleSorting = true; $ctrl.testGrid.gridOptions.multiSelect = true; $ctrl.testGrid.gridOptions.enableHeaderRowSelection = true; // Add browse ui-grid components to scope angular.extend($ctrl, browseGridService.getScope($ctrl.testGrid)); // grid sorting callback $ctrl.testGrid.onSort = loadData; // grid columns $ctrl.testGrid.getDefaultColumns = function() { return [ { displayName : 'File Name', field : 'fileName', cellTemplate : 'html/common/cell-file-folder.html', selected : true }, { displayName : 'Date Deleted', field : 'dateDeleted', cellFilter : 'browseDateFilter', width : 180, cellTemplate : 'html/common/cell-date.html', selected : true }, { displayName : 'Deleted By', field : 'deletedBy', width : 180, cellTemplate : 'html/common/cell.html', selected : true }, { displayName : 'Former Location', field : 'formerLocation', cellTemplate : 'html/common/cell.html', selected : true }] }; $ctrl.testGrid.setColumns(); // init data loadData(); } // grid refresh function loadData() { $ctrl.testGrid.gridOptions.data = [ { "fileName":"Test 1", "dateDeleted": "02/12/2019", "deletedBy":"Test-AO5", "formerLocation":"/" }, { "fileName":"Test 2", "dateDeleted": "02/13/2019", "deletedBy":"Test-AO6", "formerLocation":"/" }, { "fileName":"Test 3", "dateDeleted": "02/14/2019", "deletedBy":"Test-AO7", "formerLocation":"/" }, ] } } } )(); 脚本告诉Fiona有关您特定的gdal-config安装的信息。

您的gdal似乎不在PATH的通常位置之一,因此Fiona无法找到它。

如果您正在使用Anaconda,最好的方法是使用gdal-config移除gdal,然后重新进行conda remove gdal

通常,如果您使用的是Conda,则永远不要使用pip在其中安装某些东西,除非您完全确定conda不支持它。 (可以通过指定正确的通道-conda install geopandas参数在conda上找到许多软件包。)特别是在geopandas的情况下,maintainers recommend在pip上使用conda,因为pip要求您正确安装依赖项。

答案 2 :(得分:3)

pip install wheels
pip install pipwin

pipwin install numpy
pipwin install pandas
pipwin install shapely
pipwin install gdal
pipwin install fiona
pipwin install pyproj
pipwin install six
pipwin install rtree
pipwin install geopandas

以下是源链接: http://geopandas.org/install.html#installation https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

如果仍然有问题,请考虑卸载以上内容(pip卸载)并重新安装。

答案 3 :(得分:1)

我通过运行以下命令解决了这个问题:

pip install pipwin
pip install gdal
pip install fiona
pip install geopandas

此解决方案已在Windows平台上经过测试并成功运行。

答案 4 :(得分:0)

安装Geopandas的一种方法是通过Anaconda Navigator。进入环境并安装“ geopandas”软件包。之后,我可以在spyder中导入geopandas包

答案 5 :(得分:0)

我将添加

!pip install descartes

到@JDOaktown列表。

答案 6 :(得分:0)

我从pip install geopandas开始遇到了错误,但后来尝试了conda install --channel conda-forge geopandas,错误消失了。

答案 7 :(得分:0)

已成功安装在RHEL 7.8中。 它会自动下载所需的软件包。这可能会有帮助

安装收集的软件包:certifi,pyproj,shapely,attrs,click,click-plugins,munch,cligj,fiona,geopandas 成功安装了attrs-20.3.0 certifi-2020.11.8 click-7.1.2 click-plugins-1.1.1 cligj-0.7.0 fiona-1.8.17 geopandas-0.8.1 munch-2.5.0 pyproj-3.0.0。 post1 shapely-1.7.1

答案 8 :(得分:0)

对我来说,唯一的解决方案是从此处安装现成的二进制文件

https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal

然后只需在本地安装

pip install GDAL-3.1.4-cp38-cp38-win_amd64.whl

答案 9 :(得分:0)

要安装gdal,请按照以下步骤操作:

  1. 从以下位置下载了满足我的计算机要求的版本(64位) https://www.lfd.uci.edu/~gohlke/pythonlibs/。该文件为GDAL-3.1.4-cp37-cp37m-win_amd64.whl

  2. 将文件放在桌面上的文件夹中。

  3. 从cmd,我移至该目录并执行python -m pip install GDAL-3.1.4-cp37-cp37m-win_amd64.whl

  4. 然后以相同的方式安装fiona:python -m pip install Fiona-1.8.18-cp37-cp37m-win_amd64.whl

  5. 为使身材匀称,我执行了conda install -c conda-forge shapely

  6. 之后,我能够像往常一样安装keplergl:pip install keplergl

  7. 安装笛卡尔:conda install -c conda-forge descartes(或python -m pip install descartes)。

通过这种方式,我不必处理“环境变量”,因为这可能会影响其他程序 干杯。