在一个集群上安装Cartopy时错误

Cartopy安装失败如果libgeos和libproj不安装。

写的prem.jayaraj

去年发表在:2022年5月11日

问题

你想安装Cartopy在一个集群和你收到ManagedLibraryInstallFailed错误消息。

. lang。RuntimeException: ManagedLibraryInstallFailed: org.apache.spark。SparkException:进程列表(/砖/ python / bin /皮普,安装,cartopy = = 0.17.0——disable-pip-version-check)退出代码1。错误:命令错误与退出状态1:命令:/砖/ python3 / bin / python3.7 /砖/ python3 / lib / python3.7 /网站/脉冲/ _vendor / pep517 / _in_process。py get_requires_for_build_wheel / tmp / tmpjoliwaky慢性消耗病:/ tmp / pip-install-t324easa / cartopy完成输出(3行):设置。py: 171: UserWarning:无法确定GEOS版本。确保您安装了3.3.3或晚,或安装可能会失败。'。' . join (GEOS_MIN_VERSION str v (v)),)项目4.9.0必须安装。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -错误:命令与退出状态错误1:/砖/ python3 / bin / python3.7 /砖/ python3 / lib / python3.7 /网站/脉冲/ _vendor / pep517 / _in_process。py get_requires_for_build_wheel / tmp / tmpjoliwaky检查日志的命令输出。图书馆:PythonPyPiPkgId (cartopy,一些(0.17.0),列表()),isSharedLibrary = false

导致

Cartopy有依赖libgeos3.3.3和上方和libproj4.9.0。如果libgeoslibproj不安装,Cartopy无法安装。

解决方案

配置一个集群级init脚本(AWS|Azure|GCP)自动安装Cartopy和所需的依赖项。

  1. 创建基础目录存储中的init脚本,如果基础目录不存在。在这里,使用dbfs: /砖/ <目录>作为一个例子。
    % sh dbutils.fs.mkdirs (“dbfs: /砖/ <目录> /”)
  2. 创建脚本并将其保存到一个文件。
    % sh dbutils.fs.put (“dbfs: /砖/ <目录> / cartopy。sh”、“”“# !/bin/bash sudo apt-get安装libgeos + + - dev - y sudo apt-get安装libproj-dev - y /砖/ python / bin / pip安装Cartopy”“”,真的)
  3. 检查脚本的存在。
    % python显示器(dbutils.fs.ls (“dbfs: /砖/ <目录> / cartopy.sh”))
  4. 在集群配置页面,单击高级选项切换。
  5. 在页面的底部,单击Init脚本选项卡。
    DBFS init脚本设置UI的形象。
  6. 目的地下拉,选择DBFS,提供这个脚本文件路径,然后单击添加
  7. 重新启动集群。
这篇文章有用吗?