如何成功安装Pyproj和Geopandas?

39

我尝试通过运行!pip install geopandas在I Python中安装geopandas,但是这失败了,报错为“python setup.py egg_info”失败,然后是路径过长的目录。我在线阅读到需要pyproj来安装geopandas,尝试安装了它,但是还是没有成功,出现类似的错误。请问有人能指点我正确的方向吗?谢谢。

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


什么平台(Linux/Windows/Mac)?您能使用conda安装它吗? - joris
嗨,我在Windows和Mac上都尝试过,但都没有成功。关于使用conda,您是指使用conda install命令吗? - user3144095
3
是的,我指的是conda软件包管理器:http://conda.pydata.org/docs/index.html。使用它,您可以从ioos频道安装它(`conda install -c ioos geopandas`)。 - joris
一个不需要conda的简单明了的Windows答案,请访问https://dev59.com/y7roa4cB1Zd3GeqPm5PU#61418519。 - keepAlive
17个回答

34
感谢 conda-forge 社区,使用 conda 包管理器(或其依赖项,因为这是困难所在),在所有平台上安装 geopandas 实际上相当容易。
如果您有 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

在Windows上对我有效。这应该是答案。 - PraAnj
该网站提到要么使用默认安装,要么使用conda-forge安装。由于我几乎每次都使用默认安装,这会引起任何问题吗?https://geopandas.org/install.html - Murtaza Haji
1
现在针对我来说,"conda install geopandas"和"conda install -c conda-forge geopandas"都无法工作。代理设置是怎么样的? - Alvaro Morales
目前对我来说也不起作用。 - hbstha123
这个已经不再起作用了。 - Niyousha Mohammadshafie
显示剩余2条评论

21

很不幸,开始使用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

在Windows下

如@Marcus Williams所述:

下载与你的Python环境相对应的Fiona和GDAL Windows二进制文件(32位、64位和2.7、3.3等版本,从http://www.lfd.uci.edu/~gohlke/pythonlibs/)并使用命令行(cmd)cd到下载文件所在的目录,使用以下命令安装.whl文件:

pip install filename.whl

最后:

pip install geopandas

我遇到了一些问题。首先,您发布的链接中提供的GDAL库不包括1.11.2版本,因此我不得不获取2.0.3版本(我的Python版本是2.7.11 32位)。然后,由于pyproj(在cmd中出现错误代码1),pip install geopandas无法正常工作。您建议下载您在答案开头发布的确切版本吗? - FaCoffee
对于大多数用户,建议使用Python发行版Anaconda。然后您可以按照安装指南http://geopandas.org/install.html进行安装,或者直接使用Anaconda云,输入:conda install -c ioos geopandas=0.2.1。如果由于某种原因您不想或无法使用Anaconda,请尝试上述解决方案,但请注意,由于软件包正在积极开发中,所述解决方案可能已经过时。 - Philipp Schwarz
为什么处理这个包很困难?开发人员为什么没有解决依赖关系? - FaCoffee
2
请注意,上述内容已不再适用。GeoPandas目前可以与最新版本的gdal(> 2)和fiona(> 1.7)良好地配合使用。 - joris
如果您想绘制形状文件(*.shp),您还需要安装“descartes”。 - Kristada673

14
我最近试图从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。它对我有帮助。如果此链接在某些时候停止运行,我将只需复制粘贴其内容。
我的笔记:由于Anaconda 5.2带有Python 3.6.5,因此我从Gohlke安装了cp36版本。我的Anaconda安装默认安装到C:\Users\<Username>\AppData\Local\Continuum\anaconda3\Lib\site-packages,所以我将其用作环境变量。
手动安装Geopandas及其依赖项
  1. 首先且最重要的是:不要尝试直接使用pip installconda install安装任何依赖项 - 如果这样做,它们将在以后的某个时候失败,通常是默默无闻或难以理解,使故障排除变得困难。如果已经安装了任何依赖项,请立即卸载它们。
  2. 从Gohlke下载GDAL, Fiona, pyproj, rtreeshapely的wheel文件。确保选择与您的架构(64位)和Python版本(2.7或3.x)匹配的wheel文件。如果Gohlke在他对这5个软件包的描述中提到了任何先决条件,请现在安装先决条件(可能会列出C ++可再发行组件或类似内容)
  3. 如果已经安装了OSGeo4W、GDAL、Fiona、pyproj、rtree或shapely,请立即卸载它们。GDAL wheel包含完整的GDAL安装-不要与OSGeo4W或其他发行版一起使用。
  4. 打开命令提示符并更改目录到您下载这5个wheel的文件夹。
  5. pip install您下载的GDAL wheel文件。您实际的命令将类似于:pip install GDAL-1.11.2-cp27-none-win_amd64.whl
  6. 将新的GDAL路径添加到Windows PATH环境变量中,例如C:\Anaconda\Lib\site-packages\osgeo
  7. pip install您的Fiona wheel文件,然后是pyproj wheel文件,然后是rtree,最后是shapely。
  8. 现在,既然已经安装了GDAL和geopandas所需的所有依赖项,您只需从命令提示符中键入pip install geopandas

更新于2020年3月21日:从Anaconda 2020.02开始,rtree已经包含在发行版中。


1
如果你在使用Anaconda,上述方法并不推荐(如果你没有使用Anaconda,从Gohlke的网站下载Wheels文件确实是获得二进制包的一种方式)。 - joris
@joris,您能否解释一下为什么?我花费了数小时的时间尝试在Anaconda上使用GeoPandas,并且我的原始帖子是我设法做到这一点的唯一方法。自从Anaconda 5.2以来,这个问题并没有得到缓解。 - Vesanen
1
要明确的是,我完全理解并承认安装GeoPandas的困难,即使使用conda也是如此,这很令人沮丧,浪费了许多时间。但是,如果您使用Anaconda,则可以按照https://geopandas.readthedocs.io/en/latest/install.html中的说明正确安装GeoPandas。如果不是这种情况,则需要解决Bug,请打开一个问题,以便我们尝试解决它。 - joris
1
以上指令的问题在于,它们对于普通用户来说更加困难/繁琐,并且可能会出现比使用conda更多的错误(例如,这些wheels与PyPI上的wheels不兼容,您可以轻松地通过pip混合使用,或者与其他conda软件包不兼容)。因此,虽然这可能是一种备选策略,但我认为人们应该尝试的第一件事情并不是这个。而且,如果您从一开始就没有使用Anaconda,则上述方法肯定是可以的(实际上,对于某些在PyPI上没有wheels的软件包,在Windows上甚至是唯一的解决方案)。 - joris
1
@joris 谢谢你详细的回答。 - Vesanen

5
经过数小时的尝试(遇到WinError 126,“not a supported wheel on this platform”等错误),我成功安装了pyproj和geopandas,并且这是我所做的:
  • 首先安装descartes、pandas、fiona、shapely、pyproj,因为它们是geopandas所需的。

  • 对于descartes和pandas,可以直接使用命令行中的“pip install descartes”或“pip install pandas”进行安装。

  • 对于fiona、shapely、pyproj:

    • 前往http://www.lfd.uci.edu/~gohlke/pythonlibs/

    • 下载与您的Python版本相对应的.whl文件(例如,Python 3.4的Fiona-1.7.8-cp34-cp34m-win32.whl)。重要提示:仅下载win32版本,因为win_amd64版本无法运行(上帝知道为什么)

    • 使用“pip install <路径至下载文件夹>Fiona-1.7.8-cp34-cp34m-win32.whl”安装每个包
  • 对于geopandas:

我在命令提示符中输入'pip install Fiona-1.7.8-cp34-cp34m-win32.whl',但它没有起作用。 - Sorif Hossain

3
在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 方法看起来更容易 - 但我还没有尝试过。

2

我使用的是Windows 10操作系统,只需要重新安装Visual C++ 2015。 然后我手动从这里安装了fiona。 之后我成功地安装了geopandas


1
要在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",然后您就可以开始使用了!

注意:如果上述的 Wheel 文件对您不起作用,那么请尝试使用备用的 Wheel 文件。


1
使用pip安装GeoPandas时,需要确保所有依赖项都正确安装。 首先安装shapely、fiona、pyproj和rtree, 然后安装geopandas。 Shapely和Fiona为Mac和Linux提供了包含依赖项的二进制wheel,但不适用于Windows。 Pyproj为Mac、Linux和Windows提供了包含依赖项的二进制wheel。 Rtree没有提供wheel。 使用以下命令安装: pip install fiona, pip install shapely,pyproj,rtree

1
  1. 转到https://www.lfd.uci.edu/~gohlke/pythonlibs/
  2. 下载带有cp38的fionapyprojGDALshapely
  3. 在你下载这些wheel文件的地方打开命令提示符
  4. 运行- pip install <file_name> (例如 pip install Fiona-1.8.19-cp38-cp38-win_amd64.whl)
  5. 现在下载geopandas并按照上述方法安装。

Fiona、GDAL、Shapely和pyproj是安装geopandas所需的依赖项。因此,在安装geopandas之前,请先安装它们。 希望这对您也有用!


1
安装geopandas并不容易,因为涉及到许多依赖项。您必须从此网站手动下载文件。
按照以下步骤操作:
  1. 第一步:首先进入列出所有软件包的网站。使用CTRL + F,然后搜索GDAL并下载"GDAL-3.4.2-cp39-cp39-win_amd64.whl"(文件名可能不同)。

  2. 第二步:对于所有文件都是相同的。使用CTRL + F,然后下载"pyproj-3.3.0-cp39-cp39-win_amd64.whl"、"Fiona-1.8.21-cp39-cp39-win_amd64.whl"、"Shapely-1.8.1.post1-cp39-cp39-win_amd64.whl"和"geopandas-0.10.2-py2.py3-none-any.whl"。我不确定,但在安装文件时,请按照此顺序进行。此外,请确保将所有这些文件放在同一个位置以便于安装所有文件。

  3. 第三步:我没有使用anaconda。 pip install GDAL-3.4.2-cp39-cp39-win_amd64.whl 对于所有文件都是相同的。

  4. 第四步:最后,进行快速的健全性检查。 python import geopandas as gpd


1
这应该是被接受的答案。它绝对比conda安装替代方案更好,并且在Windows 10上运行得很好。 - theQuantumMechanic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接