首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在mac m1上安装python中的地质公园时出错

在mac m1上安装python中的地质公园时出错
EN

Stack Overflow用户
提问于 2022-02-16 07:11:00
回答 2查看 3.6K关注 0票数 4

我正试图在我的M1 mac上安装geopandas,但我遇到了错误

我试着逐个安装所有的依赖项,但是我的绊脚点是在pyproj的安装中。

我使用brew安装PROJ安装proj,这很好。

当我尝试时,我会得到以下错误

代码语言:javascript
运行
复制
Building wheels for collected packages: pyproj  

Building wheel for pyproj (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for pyproj (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [12 lines of output]
      PROJ_DIR is set, using existing PROJ installation..
      
      running bdist_wheel
      running build
      running build_py
      running build_ext
      building 'pyproj._geod' extension
      pyproj/_geod.c:704:10: fatal error: 'geodesic.h' file not found
      #include "geodesic.h"
               ^~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyproj
Failed to build pyproj
ERROR: Could not build wheels for pyproj, which is required to install pyproject.toml-based projects

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2022-02-16 09:24:22

目前,可以通过conda或pip+homebrew在M1 macs上安装地质公园。

GeoPandas本身是用纯Python编写的,因此在任何架构上运行它都没有问题。但是,它依赖于用其他语言(C、C++)编写的其他库,这些库需要专门为M1芯片编译。虽然您可以自己编译它,但我不打算讨论这个选项,因为它对用户不友好。

所需图书馆有三种可能的来源-- pip轮子、conda-forge和Homebrew。

当Python包需要C依赖项时,它可以使用为每个系统和芯片体系结构编译的依赖项创建轮子。例如,参见pygeos - https://pypi.org/project/pygeos/#files。你需要的是*macosx_11_0_arm64.whl。如果您的软件包不提供它,您必须找到比pip更多的安装方式。由于GeoPandas需要没有这些轮子的外形和菲奥娜(以及其他),你应该看看其他地方--要么是孔达锻造,要么是国产啤酒。以下是今天测试的两个选项。

Conda和conda-锻造方式(推荐)

目前,康达锻造公司拥有所有需要的软件包。

安装M1版本的微型锻造或钼炉。它可以从这里下载- https://github.com/conda-forge/miniforge

代码语言:javascript
运行
复制
conda install -c conda-forge geopandas pygeos

注意:如果您安装x86 (Intel)版本的conda,它将在Rosetta2下运行,并使用x86架构安装所有软件包,这意味着一切都将在模拟下运行。尽量避免那样做。

Pip与自制方式

可以安装为M1编译的C库。Python包将找到并使用它们。

使用Python3.9的环境

安装美观:

代码语言:javascript
运行
复制
brew install geos
export DYLD_LIBRARY_PATH=/opt/homebrew/opt/geos/lib/
pip install shapely

需要DYLD_LIBRARY_PATH才能找到GEOS安装。

安装fiona:

代码语言:javascript
运行
复制
brew install gdal
pip install fiona

安装pyproj:

代码语言:javascript
运行
复制
brew install proj
pip install pyproj

安装geopandas和pygeos以加快速度:

代码语言:javascript
运行
复制
pip install pygeos
pip install geopandas

请注意,这是我在https://github.com/geopandas/geopandas/issues/1816#issuecomment-1003093329中给出的解释的副本和粘贴。

票数 15
EN

Stack Overflow用户

发布于 2022-06-14 13:42:16

相关https://github.com/pyproj4/pyproj/issues/1027

我遇到了同样的问题,我也尝试为PROJ_DIR, PROJ_LIBDIR, PROJ_INCDIR设置环境值,但可能设置值会导致错误,因此关闭终端并再次尝试,并能够正确安装。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71137617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档