我在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
答案 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包: