我正在尝试使用 Python、Miniconda 和 Jupyter 在 Google Cloud Platform 中创建数据科学环境。但是当我尝试使用外部 IP 访问 jupyter 时遇到错误我按照以下步骤操作:1 - 我已访问资源管理页面 ( https://console.cloud.google.com/cloud-resource-manager )。创建一个新项目 (test_01)2 - 我打开了仪表板 ( https://console.cloud.google.com/home/dashboard )。我选择了我刚刚创建的项目(test_01)3 - 在左上角的菜单中 - 选择“Compute Engine”并点击“VM 实例”。点击“创建”按钮4 - 我填写了:命名实例(the-who),选择区域(在我的例子中-northeast1-a),选择内存,存储和CPU,选择启动盘,远程访问SSH,确保你可以通过允许 Http 和 Https 流量从 Internet 访问 VM,然后单击“创建”5 - 我打开了 Google 的 Cloud Shell。我按下按钮 >_6 - 在 Ubuntu 终端打开的情况下,我输入为 root 创建密码:sudo passwd7 - 输入命令进入SSH:gcloud compute ssh the-who8 - 总是有一个关于该区域的问题:您的意思是区域 [us-east1-c] 例如:[the-who] (Y/n)?- 由于矿区不同 (northamerica-northeast1-a) 我按 n9 - 我开始安装软件包(bzip2 git libxml2-dev):“sudo apt-get update”和“sudo apt-get install bzip2 git libxml2-dev”10 - 现在安装 miniconda、scikit-learn、pandas、jupyter 和 ipython:“wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh”、“bash Miniconda3-latest-Linux- x86_64.sh”、“rm Miniconda3-latest-Linux-x86_64.sh”、“source .bashrc”和“conda install scikit-learn pandas jupyter ipython”11 - 我检查安装:“python --version”和“which python”12 - 现在我想设置我的 VM 以允许 Web 访问我的 Jupyter 笔记本。我返回到实例面板并在左上角的菜单中选择了“VPC 网络 > 防火墙规则”。我点击了“CREATE FIREWALL RULE”链接并填写了以下值13 - 名称:jupyter-rule * 源 IP 范围:0.0.0.0/0 * 指定的协议和端口:tcp:8888 * 目标标签:the-who * 并将所有其他变量保留为默认值。因此,此防火墙规则允许所有传入流量(所有 IP 的)到达端口 8888。14 - 我返回到 VM 页面(左上角菜单 > Compute Engine > VM 实例)并单击 VM 名称。我记下了虚拟机的外部 IP 地址15 - 回到终端,我配置了 jupyter。我输入“jupyter notebook --generate-config”来生成配置文件并生成密码“jupyter notebook password”16 - 现在编辑 jupyter 配置文件:vim .jupyter/jupyter_notebook_config.py17 - 在第一行写入然后保存并关闭文件:c.NotebookApp.ip = '*'18 - 上述命令将允许笔记本可用于 VM 上的所有 IP 地址。然后我用命令行启动了 Jupyter Notebook: jupyter-notebook --no-browser --port=8888
1 回答
GCT1015
TA贡献1827条经验 获得超4个赞
Jupyter 的最新版本需要被告知要侦听哪些 IP 地址。您需要在配置文件中:
c.NotebookApp.ip = '0.0.0.0'
即使有了这个更改和密码,我还是更愿意将 Jupyter 放在 Singularity 容器中,因为可以通过 Web 访问它的人可以在 VM 上运行任何 Python 代码。有关执行此操作的方法,请参阅:https : //bitbucket.org/account/user/stfcsciml/projects/JSV
添加回答
举报
0/150
提交
取消