【问题标题】:Azure Batch data science VM python packages missingAzure Batch 数据科学 VM python 包丢失
【发布时间】:2018-11-06 12:15:54
【问题描述】:

我正在使用 Linux DSVM 映像:microsoft-dsvm linux-data-science-vm-ubuntu linuxdsvmubuntu

我的 python 代码在第一行 import pandas as pd 失败,出现 python 错误,找不到模块。

当我远程 SSH 进入节点并运行 pip install pandas 时,它告诉我它已经安装。 numpy 等也是如此。

我尝试使用/bin/bash -c "pip install pandas" 等设置启动任务,但由于找不到命令pip 而失败。

再次从 SSH shell 运行时,pip 在 PATH 上,运行没有问题。

谁能指出我正确的方向?

来自微软的简单教程工作正常,因为它们不依赖任何外部包。所以我可以将我的 python 文件和数据集等从 blob 存储上传到机器上。 python运行正常。就像所有数据科学特定的包一样,任务运行时 pip 丢失了,但是当我 SSH 进入节点时它就在那里。

额外的问题,jupyter 是否应该在端口 8000 上运行?

【问题讨论】:

  • 您可以尝试在 Azure 门户中使用池自动用户创建任务,用户身份为管理员。可能你的权限不够。
  • @CharlesXu-MSFT 谢谢你会试试的。我意识到当我在我的 SSH 中默认使用 python 3.5 环境时。但是,当在我的客户端机器上使用来自 python 的 azure 模块启动任务时,它会在 python 2.7 中运行。但我会试试你的建议。
  • 您还应该检查该节点是否是批处理集群中的真实节点。
  • @CharlesXu-MSFT 我尝试了手动任务,以及从我的 python 客户端代码设置自动用户。但仍然得到ImportError: No module named pandas :(
  • 我的意思是在 Azure 门户中。如果你通过python创建任务,你应该找到正确的方法。因为我不是python的家人。所以我可以给出可能的目录。

标签: python azure azure-batch


【解决方案1】:

首先,您必须在计算节点中安装 pip。

bin/bash -c "sudo apt-get -y update && export DEBIAN_FRONTEND=noninteractive && sudo apt-get install -y python3-pip && sudo pip3 install pandas;"

将此命令作为启动任务提供给 azure 批处理池,它将在您的虚拟机中安装 pip 和 pandas。

同样的方法把你要安装的所有库放在一个 requirements.txt 中,并在安装 pip 后给出sudo pip3 install -r requirements.txt

【讨论】:

    猜你喜欢
    • 2017-05-28
    • 2019-02-19
    • 2019-10-31
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    相关资源
    最近更新 更多