由于图书馆集群取消Python命令执行冲突

学习做什么当你的砖集群取消Python命令执行由于库冲突。

写的亚当Pavlacka

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

问题

集群的回报取消了在Python的笔记本。笔记本电脑在所有其他语言相同的集群上执行成功。

导致

当你安装一个冲突版本的库,如ipython,ipywidgets,numpy,scipy,或熊猫PYTHONPATH环境,然后是Python REPL可以打破,使所有命令返回取消了后30秒。这也打破了% sh,让你的笔记本宏观输入shell脚本在Python笔记本电池。

删除

信息

解决方案

为了解决这个问题,请执行以下操作:

  1. 识别冲突的库和卸载它。
  2. 安装正确版本库的一个笔记本和一个集群级init脚本。

识别冲突的库

  1. 卸载每个库一次,检查如果Python REPL仍然休息。
  2. 如果REPL仍然休息,重新安装你删除的图书馆和删除下一个。
  3. 当你发现图书馆使REPL决裂,安装正确版本的库使用以下两种方法之一。

你也可以检查司机日志(std.err)集群(在集群配置页面)堆栈跟踪和错误消息,可以帮助确定图书馆冲突。

安装正确的库

做下列之一。

选项1:安装在笔记本使用pip3

% sh sudo apt-get - y安装python3-pip pip3安装<库名称>

选项2:安装使用一个集群级init脚本

按照以下步骤创建一个集群级init脚本(AWS|Azure|GCP),安装正确版本的库。取代<库名称>与图书馆的文件名的示例安装。

  1. 如果init脚本已经不存在,创建一个基本目录来存储:
    % sh dbutils.fs.mkdirs (“dbfs: /砖/ <目录> /”)
  2. 创建以下脚本:
    % sh dbutils.fs.put(“/砖/ init /集群名称/ <库名称>。sh”、“”“# !/bin/bash sudo apt-get - y安装python3-pip sudo pip3安装<库名称>”“”,真的)
  3. 确认脚本存在:
    % sh显示器(dbutils.fs.ls (“dbfs: /砖/ <目录> / <库名称> . sh "))
  4. 去集群配置页面(AWS|Azure|GCP),然后点击高级选项切换。
  5. 在页面的底部,单击Init脚本标签:Init脚本选项卡的形象。
  6. 目的地下拉,选择DBFS提供这个脚本文件路径,点击添加
  7. 重新启动集群。


这篇文章有用吗?