【问题标题】:how to successfully install pyproj and geopandas?如何成功安装 pyproj 和 geopandas?
【发布时间】:2016-03-29 10:08:47
【问题描述】:

我尝试通过运行 !pip install geopandas 通过 I python 安装 geopandas,但这失败了“python setup.py egg_info”失败,错误代码为 1,然后是长目录的路径。我在网上读到 geopandas 需要 pyproj 并且也尝试安装它但是没有运气,类似的错误。有人能指出我正确的方向吗?谢谢。

顺便说一句,如果这有帮助,我可以使用这种方法安装 shapely、fiona 和 Descartes。

【问题讨论】:

标签: python installation geopandas


【解决方案1】:

感谢conda-forge communitygeopandas 实际上很容易使用conda package manager 安装在所有平台上(或者:它的依赖项,因为这是困难所在)。

如果你有 conda,那就是:

conda install -c conda-forge geopandas

要安装 conda,可以安装 Anaconda python 发行版或 miniconda:http://conda.pydata.org/docs/download.html

请参阅 GeoPandas 文档了解更多详细信息,特别是关于如何使用安装了 GeoPandas 的设置创建新环境以确保其始终有效:https://geopandas.org/install.html#creating-a-new-environment

【讨论】:

  • 在固执并努力坚持pip 之后,最终上述方法一气呵成!只需设置我的代理设置...
  • 在 Windows 上为我工作。应该是答案。
  • 该网站提到要么坚持默认安装或 conda-forge 安装?这会导致任何问题,因为我几乎每次都使用默认安装。 geopandas.org/install.html
  • 是的,你最好坚持两者之一。但是做conda install geopandas(没有conda-forge,但来自默认频道)也可以正常工作。在那里获得最新版本可能需要更长的时间。
  • 现在“conda install geopandas”和“conda install -c conda-forge geopandas”对我不起作用。代理设置呢?
【解决方案2】:

不幸的是,开始使用 geopandas 并不容易,问题在于部分依赖项无法正常工作,您必须使用旧版本的 Fiona 和 GDAL。以下软件包可以稳定地协同工作:

GDAL: 1.11.2
Fiona: 1.6.0
Geopandas: 0.1.0.dev-

在 ubuntu 上安装:

sudo apt-get install build-essential python-all-dev
wget http://download.osgeo.org/gdal/1.11.2/gdal-1.11.2.tar.gz
tar xvfz gdal-1.11.2.tar.gz
cd gdal-1.11.2
./configure --with-python
make
sudo make install

另外,一些 Linux 发行版需要在安装后更新共享库缓存:

sudo ldconfig

Fiona 和 geopandas 可以通过以下方式安装经典:

sudo pip install Fiona==1.6.0
sudo pip install geopandas

窗户下

正如@Marcus Williams 所说:

下载与您的python环境(32、64位和2.7 3.3等)相对应的Fiona和GDAL Windows二进制文件(来自http://www.lfd.uci.edu/~gohlke/pythonlibs/)并使用cd进入cmd进入下载文件所在的目录并使用命令安装.whl文件

pip install filename.whl

最后:

pip install geopandas

【讨论】:

  • 我遇到了一些问题。首先,您发布的链接中可用的 GDAL 库不包括 1.11.2 版本,所以我必须获取 2.0.3(我的 Python 版本是 2.7.11 32 位)。然后,pip install geopandas 不起作用,因为pyproj(cmd 中的错误代码 1)。您是否建议下载您在答案开头发布的确切版本?
  • 对于大多数用户,建议使用 python 发行版 Anaconda。然后您可以按照安装指南geopandas.org/install.html 或直接使用 anaconda cloud 输入: conda install -c ioos geopandas=0.2.1 如果由于某种原因您不想要或可以使用 Anaconda 尝试上述解决方案,但请注意,由于包正在大力开发中,说明的解决方案可能已经过时了。
  • 为什么处理这个包这么难?为什么开发人员没有修复依赖关系?
  • 请注意,以上内容不再是最新的。 GeoPandas 目前在最新版本的 gdal (> 2) 和 fiona (> 1.7) 上运行良好。
  • 如果你想绘制形状文件(*.shp),你还需要安装“笛卡尔”。
【解决方案3】:

我最近尝试从 Geopandas 0.3.0 升级到 0.4.0 破坏了我的 Anaconda 5.2 发行版。我没有注意到命令conda install -c conda-forge geopandas 想要升级一堆包,降级其他包,并删除 Anaconda 5.2

无论如何,在重新安装 Anaconda 5.2 后,我遇到了几个 Command "python setup.py egg_info" failed with error code 1 in <filepath> 错误,无法解决。我什至尝试在另一台计算机上安装 Anaconda 5.2,仍然出现相同的错误消息。

然后我偶然发现了这个网站Geoff Boeing: Using geopandas on Windows。它对我有用。如果此链接在某个时候停止运行,我将复制粘贴以下内容。

我的笔记:我从 Gohlke 安装了 cp36-versions,因为 Anaconda 5.2 附带 Python 3.6.5。我的 Anaconda 安装默认安装到 C:\Users\<Username>\AppData\Local\Continuum\anaconda3\Lib\site-packages,所以我使用它作为环境变量。

手动安装 geopandas 及其依赖项

  1. 首先也是最重要的:不要尝试直接pip installconda install 任何依赖项——如果你这样做,它们将失败 稍后,通常是默默地或隐晦地进行故障排除 难的。如果已安装,请立即卸载。
  2. 下载轮子GDAL, Fiona, pyproj, 来自 Gohlke 的 rtreeshapely。确保您选择 与您的架构(64 位)和 Python 版本匹配的轮文件 (2.7 或 3.x)。如果 Gohlke 在他的 这 5 个软件包的描述,现在安装先决条件 (可能列出了 C++ 可再发行文件或类似内容 那里)
  3. 如果 OSGeo4W、GDAL、Fiona、pyproj、rtree 或 shapely 已经 已安装,立即卸载。 GDAL 轮包含一个完整的 GDAL 安装 - 不要将它与 OSGeo4W 或其他 分布。
  4. 打开命令提示符并将目录更改为您所在的文件夹 下载了这 5 个轮子。
  5. pip install您下载的GDAL轮文件。你的实际命令 将类似于:pip install GDAL-1.11.2-cp27-none-win_amd64.whl
  6. 将新的GDAL路径添加到windowsPATH环境变量中, 类似C:\Anaconda\Lib\site-packages\osgeo
  7. pip install 你的 Fiona 轮子文件,然后是你的 pyproj 轮子文件,然后 rtree,然后匀称。
  8. 现在GDAL和geopandas的依赖都安装好了,你 可以在命令提示符下pip install geopandas

21/03/2020 更新:从 Anaconda 2020.02 开始,rtree 现在包含在分发中。

【讨论】:

  • 以上不推荐如果你使用Anaconda(如果你没有使用Anaconda,从Gohlke的网站下载轮子确实是一种获取二进制包的方法)
  • @joris 你能解释一下为什么吗?我花了好几个小时试图让 GeoPandas 在 Anaconda 上工作,而我原来的帖子是我设法做到这一点的唯一方法。自 Anaconda 5.2 天以来,这个问题一直没有缓解。
  • 明确地说,我完全理解并承认安装 GeoPandas 所遇到的困难,即使使用 conda 也是如此,而且浪费时间非常令人沮丧。但是如果您使用 Anaconda,如果您按照geopandas.readthedocs.io/en/latest/install.html 的说明进行操作,GeoPandas“应该”可以正常安装。如果不是这样,那是一个需要解决的错误,请打开一个问题,以便我们尝试解决。
  • 上述指令的问题在于它们 1) 对普通用户来说更困难/更繁重 2) 比 conda 更容易出错(例如,这些轮子与轮子不兼容来自 PyPI,您可以轻松地获得与 pip 的混合,或者与其他 conda 包不兼容)。因此,虽然这可能是一种尝试的后备策略,但 IMO 并不是人们应该尝试的第一件事。再说一次,如果你从一开始就没有使用 Anaconda,那么上面的方法肯定没问题(实际上,对于某些在 PyPI 上没有轮子的软件包,甚至是 Windows 上唯一的解决方案)。
  • @joris 谢谢你的详尽回答。
【解决方案4】:

经过数小时的失败(出现 WinError 126、“此平台上不支持的轮子”错误等),我已经成功安装了 pyproj 和 geopandas,这就是我所做的:

  • 首先安装笛卡尔、pandas、fiona、shapely、pyproj,因为它们是 geopandas 所必需的。

  • 对于笛卡儿和熊猫,可以直接使用命令行中的“pip install decartes”或“pip install pandas”进行安装。

  • 对于菲奥娜,匀称,pyproj:

    • 转到http://www.lfd.uci.edu/~gohlke/pythonlibs/

    • 为您的 Python 版本下载相应的 .whl(例如,Fiona-1.7.8-cp34-cp34m-win32.whl 用于 Python 3.4)。 重要:只下载win32版本,win_amd64版本不行(天知道为什么)

    • 使用'pip install 下载文件夹路径>Fiona-1.7.8-cp34-cp34m-win32.whl'安装每个包
  • 对于地理熊猫:

【讨论】:

  • 我在命令提示符下写了 pip install Fiona-1.7.8-cp34-cp34m-win32.whl' 但没用。
【解决方案5】:

在 Windows 上,我下载(来自 http://www.lfd.uci.edu/~gohlke/pythonlibs/)并使用命令安装 GDAL、Fiona、pyproj、Shapely 和 Rtree 的 .whl 文件

pip install filename.whl

对于每个 .whl 文件。

作为最后一步,我运行

pip install https://github.com/geopandas/geopandas/archive/master.zip

因为我想要 geopandas 的开发版。 conda w/ioos 方法看起来更简单 - 但我还没有尝试过。

【讨论】:

    【解决方案6】:

    我使用的是 Window 10,只需重新安装 Visual C++ 2015。 然后我不得不从here 手动安装fiona。 之后我成功安装了geopandas

    【讨论】:

      【解决方案7】:

      要在 Windows 上安装 geopandas,您需要按照以下步骤操作:-

      1. 您需要使用链接https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal 安装GDAL Wheel 文件。访问此链接后,下载名为“GDAL‑3.0.4‑cp37‑cp37m‑win32.whl”的文件,因为它对我有用,然后使用命令“pip install c:\Users........\ GDAL‑3.0.4‑cp37‑cp37m‑win32.whl" 以成功安装 GDAL,这是 Geopandas 的要求。

      2. 安装 GDAL 后,您需要使用链接 https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona 安装 Fiona Wheel 文件。访问此链接后,下载名为“Fiona‑1.8.13‑cp37‑cp37m‑win32.whl”的文件,因为它是大多数 Windows 用户支持的 Wheel 文件。下载此文件后,使用命令“pip install c:\Users........\Fiona‑1.8.13‑cp37‑cp37m‑win32.whl”。

      3. 最后,运行命令“pip install geopandas”,一切顺利!

      注意:如果上述轮文件不适合您,请尝试使用备用轮文件。

      【讨论】:

        【解决方案8】:

        使用pip安装GeoPandas时,需要确保所有依赖都安装正确。

        首先安装 shapely、fiona、pyproj 和 rtree
        然后你安装 geopandas

        shapely 和 fiona 提供二进制轮子,其中包含适用于 Mac 和 Linux 的依赖项,但不适用于 Windows。

        pyproj 为 Mac、Linux 和 Windows 提供包含依赖项的二进制轮子。

        rtree 不提供轮子。

        pip 安装 fiona, pip install shapely,pyproj,rtree

        【讨论】:

          【解决方案9】:

          您可以使用以下命令安装包括pyproj在内的依赖项:

          conda install pandas fiona shapely pyproj rtree descartes
          

          要了解有关依赖项的更多信息,我会参考official guide。 要使用pip 安装,请使用以下命令:

          pip install geopandas
          

          您也可以使用conda 安装geopandas

          conda install geopandas
          

          有时geopandas 安装的conda 不是最新版本。要更新geopandas,请使用以下命令:

          pip install geopandas --upgrade 
          

          【讨论】:

            【解决方案10】:
            1. 转到https://www.lfd.uci.edu/~gohlke/pythonlibs/
            2. 使用 cp38 下载 fionapyprojGDALshapely
            3. 打开下载这些 Wheel 文件的命令提示符
            4. 运行 - pip install (例如 pip install Fiona-1.8.19-cp38-cp38-win_amd64.whl)
            5. 现在下载geopandas 并按照上述方法安装。

            Fiona、GDAL、Shapely 和 pyproj 是安装 geopandas 的依赖项。因此,在安装 geopandas 之前安装它们。 希望这也适用于您!

            【讨论】:

              【解决方案11】:

              问题(Windows 10 x64,Python 3.4+):

              1.安装 Visual C++ 2010 Express (download)。 (不要安装 Microsoft Visual Studio 2010 Service Pack 1)

              2.从控制面板\程序和功能中删除所有 Microsoft Visual C++ 2010 Redistributable 软件包。如果您不这样做,那么安装将失败并出现一个模糊的“安装期间出现致命错误”错误。

              然后:pip install pyproj

              【讨论】:

                【解决方案12】:

                我遇到了同样的问题(可能还没有完全结束),但我会告诉你我做了什么。我基本上做了很多人提到的同样的事情,然后偶然发现了一些效果很好的东西。

                涉及的步骤:

                1. 通过 Anaconda Prompt 中的命令“conda remove fiona”等删除以下软件包:fiona、gdal、pyproj、geoplot、rtree
                2. 在 Anaconda 提示中安装 geoplot:conda install geoplot -c conda-forge

                这有 geopandas 和它内置的所有依赖项(fiona、gdal、pyproj 等)。我不确定这是一个终极修复,但它对我有用!如果这对您不起作用,我建议您按照 Vesanen 的说明进行操作,因为这也适用于我一段时间。我遇到的问题是,一旦我安装了 geopandas,我就无法在没有 Spyder 崩溃的情况下安装包 geoplot。

                【讨论】:

                  【解决方案13】:
                  1. 首先使用命令pip install GDAL安装GDAL wheel文件。
                    你可以看到documentation here
                  2. 然后使用命令conda install geopandas
                    你可以看到documentation here

                  我使用的是 Jupyter 笔记本,这对我有用。

                  【讨论】:

                    【解决方案14】:

                    我使用的是 Windows 10,并且我在使用 geopandas 时遇到了同样的问题。

                    您可以尝试this solution 但请记住,在安装 geopandas 之前,您还需要安装 GDAL(通过 .whl 为 GDAL 进行上述链接的相同方法可以正常工作)。第一次对我不起作用,但是当我将 fiona 重新安装到 1.8.6 版本时起作用(因为 v.2+ 出现错误)

                    我想安装 geopandas,但在此之前我必须安装 Fiona。这是我的解决方案:

                    1. here 下载二进制 gdal。我选择了这个:release-1911-x64-gdal-2-4-4-mapserver-7-4-3

                      1.1。您需要下载 1 个 zip 文件:release-1911-x64-gdal-2-4-4-mapserver-7-4-3-libs.zip

                      1.2。将其提取到本地路径,例如"C:\\Users\\Jack\\Gdal"

                    2. master 下载 Fiona。你可以download zip now

                    3. 解压 Fiona-master.zip,例如"C:\\Users\\Jack\\Fiona-master"

                    4. 打开 CMD,打开目录“Fiona-master”:chdir "C:\\Users\\Jack\\Fiona-master" 并运行它(使用您的路径):

                      python setup.py build_ext -I"<PATH_TO_GDAL_INCLUDE_DIR>" -lgdal_i -L"<PATH_TO_GDAL_LIB_DIR>" install --gdalversion 2.1

                      就我而言:

                      python setup.py build_ext -I"C:\\Users\\Jack\\Gdal\\include" -lgdal_i -L"C:\\Users\\Vasilev_EN\\Downloads\\Gdal\\lib" install --gdalversion 2.1

                    5. 我没有 cython 并出现错误,所以:pip install cython

                    6. 再次尝试从 (4) 运行长字符串

                    7. 成功后:pip install geopandas 工作正常

                    【讨论】:

                      【解决方案15】:

                      我在运行 Python 3.9 的 Ubuntu 18.04.5 上使用 pip 成功安装了 geopandas,并使用了以下软件包版本。

                      pandas==1.3.5
                      numpy==1.21.5
                      Fiona==1.8.20
                      pyproj==3.3.0
                      rasterio==1.2.10
                      Shapely==1.8.0
                      geopandas==0.10.2
                      

                      要安装包运行pip install <package==version>

                      【讨论】:

                        【解决方案16】:

                        我在 2022 年编写了一个 dockerized 应用程序,并希望避免添加 conda 构建依赖项(因为它导致了一个非常大的容器,构建时间很长,只是为了运行一个包!)。我发现的最直接的答案是将以下软件包添加到您的 requirements.txt 文件中:

                        numpy
                        pandas
                        shapely
                        fiona
                        six
                        cython
                        pyproj
                        geopandas
                        

                        在容器中对此进行测试使我能够远程读取 shapefile 并成功打印第一个条目

                        # python3 test.py
                        STATEFP                                                      01
                        COUNTYFP                                                    061
                        COUNTYNS                                               00161556
                        AFFGEOID                                         0500000US01061
                        GEOID                                                     01061
                        NAME                                                     Geneva
                        NAMELSAD                                          Geneva County
                        STUSPS                                                       AL
                        STATE_NAME                                              Alabama
                        LSAD                                                         06
                        ALAND                                                1487908432
                        AWATER                                                 11567409
                        geometry      POLYGON ((-86.19347599999999 31.192213, -86.12...
                        Name: 0, dtype: object
                        

                        让它只使用没有版本的包名称安装给了我这些包版本:

                        # pip3 freeze | egrep -i '(numpy|pandas|shapely|fiona|six|cython|pyproj|geopandas)'
                        Cython==0.29.26
                        Fiona==1.8.20
                        geopandas==0.10.2
                        numpy==1.22.1
                        pandas==1.3.5
                        pyproj==3.3.0
                        Shapely==1.8.0
                        six==1.16.0
                        

                        采用这种方法将我的构建时间减少到 44.2 秒

                        来源:geopandas github issue


                        这是用于 gpd 的 conda 容器 (gpd-test) 与 python 容器之间的大小比较,因为我提到它是一个构建时间很长的大型容器。

                        $ docker image ls | egrep '(REPO|gpd)'
                        REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
                        gpd-api      latest    55b0022c6aaf   4 hours ago   386MB
                        gpd-test     latest    5fc768d10a3a   4 weeks ago   3.2GB
                        

                        【讨论】:

                          猜你喜欢
                          • 2021-04-11
                          • 2018-05-14
                          • 1970-01-01
                          • 2022-06-11
                          • 1970-01-01
                          • 2019-07-31
                          • 1970-01-01
                          • 2018-12-18
                          • 1970-01-01
                          相关资源
                          最近更新 更多