"没有名为numpy的模块......" google-data-proc上的错误,如何在google-data-proc上升级numpy?

时间:2016-12-13 22:33:05

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

我在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&#39; 1.11.1&#39;

但是在google-data-proc上它更老了 **&#39; 1.8.2&#39; **

正如其他答案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,这也没有用。

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

1 个答案:

答案 0 :(得分:2)

修改:我们现在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脚本,在conda install numpy行之后的任意位置添加行/dataproc-initialization-actions/conda/bootstrap-conda.sh,然后将自定义初始化操作重新上传到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包:

Select Conda Packages menu dropdown from Kernel menu

Browse Conda packages

Install Conda packages