gpt4 book ai didi

python - 无法为 cartopy linux 安装 Proj 8.0.0

转载 作者:行者123 更新时间:2023-12-04 18:29:25 29 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 上安装 Cartopy,需要安装 proj v8.0.0 Cartopy 的二进制文件。但是,当我尝试 apt-get install proj-bin我只能得到proj v6.3.1 .如何为 cartopy 安装最新的(或至少 v8.0.0 )项目?

最佳答案

我在这里回答我自己的问题,部分是为了帮助其他人解决这个问题,部分是作为我自己的文件,所以如果我再次遇到这个问题,我知道如何解决这个问题。我花了很长时间试图弄清楚,并写了详细的说明,所以见下文:
安装 cartopy 是一个巨大的痛苦,我发现使用 conda 是一个非常糟糕的主意(对我来说,它已经多次将自己和 python 变砖)
此安装适用于 LINUX。
步骤 0. 更新 apt:

apt update
步骤 1. 安装 GEOS:
运行以下命令安装 GEOS:
apt-get install libgeos-dev
如果不这样做,请使用以下命令安装所有文件:
apt-get install libgeos-dev libgeos++-dev libgeos-3.8.0 libgeos-c1v5 libgeos-doc
步骤 2. 安装 proj 依赖项:
  • 安装cmake:
  • apt install cmake
  • 安装 sqlite3:
  • apt install sqlite3
  • 安装 curl 开发包:
  • apt install curl && apt-get install libcurl4-openssl-dev
    步骤 3. 安装 Proj
    尝试 apt-get以防万一:
    不幸的是,cartopy 至少需要 proj v8.0.0,但是如果您使用 apt 安装 proj,则只能安装 proj v6.3.1
    仅供引用,以防万一发生任何变化,这是从 apt 安装 proj 的命令:
    apt-get install proj-bin
    我很确定这就是您所需要的,但如果不是,此命令将安装剩余的 proj 文件:
    apt-get install proj-bin libproj-dev proj-data
    要删除上述安装,请运行:
    apt-get remove proj-bin
    或者:
    apt-get remove proj-bin libproj-dev proj-data
    从源代码构建项目
    因此,如果上述命令不起作用(自 2022 年 8 月 4 日起不起作用),请按照以下说明从 source 安装 proj :
  • 转到您的安装文件夹并下载 proj-9.0.0(或任何带有 proj-x.x.x.tar.gz 的版本):
  • wget https://download.osgeo.org/proj/proj-9.0.0.tar.gz 
  • 解压 tar.gz 文件:
  • tar -xf proj-9.0.0.tar.gz
  • cd 进入文件夹:
  • cd proj-9.0.0
  • 创建一个构建文件夹并 cd 进入它:
  • mkdir build && cd build
  • 运行(这可能需要一段时间):
  • cmake ..
    cmake --build .
    cmake --build . --target install
  • 运行以确保所有内容都正确安装:
  • ctest
    测试命令在我的一项测试中失败( 19 - nkg ),但其他方面都很好。
    您应该在 ./bin 中找到所需的文件。目录
    最后:
  • 将二进制文件移动到/bin 目录:
  • cp ./bin/* /bin
    经过这一切,你终于可以用 pip 安装 cartopy 了:
    pip install cartopy
    完成此操作后,我的 cartopy 仍然无法正常工作。我下周回家工作,回来了,突然间它开始工作了,所以也许尝试重新启动

    关于python - 无法为 cartopy linux 安装 Proj 8.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72442087/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com