【问题标题】:"No module named numpy..." error on google-data-proc , how to upgrade numpy on google-data-proc?google-data-proc 上的“没有名为 numpy 的模块 ...”错误,如何在 google-data-proc 上升级 numpy?
【发布时间】:2016-12-13 22:33:04
【问题描述】:

当我在 Google-Cloud-Data-Proc 上运行笔记本时,我不断收到此错误

import numpy as np
ImportError: ('No module named numpy', <function _parse_datatype_json_string at 0x7fc294e25230>.......

但在本地使用相同的 python 2.7 运行时不会出现错误

我发现我本地的版本是 numpy.version.version '1.11.1'

但在 google-data-proc 上它比较旧 **'1.8.2' **

正如其他答案ImportError: No module named numpy - Google Cloud Dataproc when using Jupyter Notebook中提到的那样,我尝试过这个升级

 import sys

sys.path.append('/usr/lib/python2.7/dist-packages')

os.system("sudo apt-get install python-pandas -y")
os.system("sudo apt-get install python-numpy -y")
os.system("sudo apt-get install python-scipy -y")
os.system("sudo apt-get install python-sklearn -y")

import pandas
import numpy
import scipy
import sklearn

我仍然得到 1.8.2 版本

pip 命令对 google-data-proc 没有权限

用 sudo 试过 pip,也没用。

IOError: [Errno 13] Permission denied: '/usr/local/bin/miniconda/lib/python2.7/site-
packages/easy-install.pth'
my-user-name@cluster-name-1-m:~$ sudo pip install numpy
sudo: pip: command not found

【问题讨论】:

    标签: google-cloud-platform jupyter-notebook google-cloud-dataproc


    【解决方案1】:

    编辑:我们现在 added a metadata option JUPYTER_CONDA_PACKAGES 在 Jupyter 设置期间通过 conda 自动预安装软件包。正如examples 所涵盖的,安装软件包的首选方法是:

    gcloud dataproc clusters create my-cluster \
        --initialization-actions gs://dataproc-initialization-actions/jupyter/jupyter.sh \
        --metadata JUPYTER_CONDA_PACKAGES=numpy:pandas:scikit-learn:scipy
    

    在没有使用此元数据值的情况下,以下历史答案以供后代和更多内部细节:

    Dataproc 的 jupyter 初始化操作也会安装 conda,因此您可以在主节点上运行:

    sudo su
    conda install numpy
    

    根据它的使用方式,您可能还需要在工作节点上使用它;您可以自定义主jupyter.sh 脚本,在/dataproc-initialization-actions/conda/bootstrap-conda.sh 行之后的任何位置添加conda install numpy 行,然后将您的自定义初始化操作重新上传到某处的GCS 以指定它而不是gs://dataproc-initialization-actions/jupyter/jupyter.sh 以自动将其安装在您的部署中。比如:

    gsutil cp gs://dataproc-initialization-actions/jupyter/jupyter.sh .
    echo "conda install numpy >> jupyter.sh"
    gsutil cp jupyter.sh gs://my-bucket/jupyter_with_numpy.sh
    gcloud dataproc clusters crreate my-cluster \
        --initialization-actions gs://my-bucket/jupyter_with_numpy.sh 
    

    最后,您还可以使用 Jupyter UI 中内置的包管理器来浏览和安装 conda 包:

    【讨论】:

    • 我已经试过了,我得到这个错误my-user-name@my-cluster-name-m:~$ sudo conda install numpy sudo: conda: command not found
    • 啊有趣。似乎与 bash 登录配置文件有关。如果您先运行sudo su 然后运行conda install numpy 会怎样?
    • 但是如果我在没有sudo 的情况下运行它,它会运行但最终它会抛出这个错误CondaIOError: IO error: Missing write permissions in: /usr/local/bin/miniconda
    • 是的,它与 sudo su 一起工作。我想,我需要为所有工人做同样的事情:(
    • 哦,等等,我通过numpy.version.version重新检查了笔记本上的版本,它仍然显示1.8.2,我需要重新启动笔记本吗?
    猜你喜欢
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 2017-06-30
    • 2011-12-10
    • 1970-01-01
    相关资源
    最近更新 更多