当前位置: 首页 > news >正文

阿里云打造Jupyterlab数据科学环境

本篇博客主要解决阿里云服务器上Jupyterlab配置方面的一些问题,关于安装教程详情见之前的这篇博客。

Windows的Linux子系统搭建数据科学环境

文章目录

  • 1 安装完无法启动Jupyterlab
  • 2 解决第一个问题以后出现OSError
  • 3 允许root账户登录
  • 4 Jupyter lab配置文件生成

1 安装完无法启动Jupyterlab

首先声明,我在Anaconda3安装过程中已经设置了将安装相关的Python,ipython,Jupyter等添加到环境变量。但是一开始安装完,直接在命令行里敲入Jupyter lab仍旧提示找不到命令。

造成这个问题的可能原因是仍然需要将安装路径设置到环境变量里,也有可能是没有更新环境变量(因为我没有先更新环境变量测试,所以现在不确定解决方式,但是可以两个都做,应该能解决)。

设置环境变量与更新环境变量。。~/anaconda2/bin指Anaconda安装的位置,对应到我的jupyterlab就是Anaconda3的bin文件夹。后面那句命令行即为更新环境变量。

echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2 解决第一个问题以后出现OSError

在解决第一个问题以后,运行jupyter lab,报错为"OSError: [Errno 99] Cannot assign requested address"。谷歌搜索问题解决方式即在jupyter lab后面加上–ip=0.0.0.0 --port=8888,即命令如下。

jupyter lab --ip=0.0.0.0 --port=8888

3 允许root账户登录

由于阿里云服务器一直是root账户登录,因此还需后面加上–allow-root,即命令如下。

jupyter lab --ip=0.0.0.0 --port=8888 --allow-root

当然阿里云上还需要在安全组上开放8888端口(如果你把port端口换成非8888,即使用更换后的数字)。

4 Jupyter lab配置文件生成

每次赋值token码是比较麻烦的,这里采用生成配置文件修改密码的方式来操作。首先,敲入如下命令行。

jupyter lab --generate-config

然后用vim编辑打开配置文件。可以看到如下关于密码设置的注释。

接着先进入Python3或ipython的命令行。

from notebook.auth import password
password()

接着会让你设置密码,设置完密码以后会出现一串字符。将这段字符进行复制,然后打开前面生成的配置文件。找到以下几个地方做修改。

c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port = 8888
c.NotebookApp.allow_root = True
c.NotebookApp.open_browser = False
c.NotebookApp.password = '' #填入刚刚复制的字符

这样后续只需要用jupyter lab即可启动Jupyter lab,然后将阿里云服务器的ip地址加上‘:8888/lab’,即可登录,当然阿里云服务器还需要设置8888端口安全组开放。这样就可以愉快地使用Jupyter lab做编程了。骨灰级matplotlib hello world测试。

参考链接:

1.ubuntu16.04下anaconda3的安装和配置,jupyter notebook的简单使用

2.OSError: Errno 99 Cannot assign requested address

3.Jupyter Lab 简单配置

相关文章:

  • 应用统计学与R语言实现笔记(番外篇二)——假设检验更正
  • Coding and Paper Letter(七十五)
  • Coding and Paper Letter(七十六)
  • Coding and Paper Letter(七十七)
  • Coding and Paper Letter(七十八)
  • Coding and Paper Letter(七十九)
  • Coding and Paper Letter(八十)
  • 葵花8号卫星数据简介与下载(一)——数据介绍与FTP下载
  • 应用统计学与R语言实现笔记(番外篇三)——缺失值的相关系数分析
  • R语言实现voronoi treemap可视化
  • WSL数据科学环境使用小记
  • Coding and Paper Letter(八十一)
  • Tutorial of the Website Awesome of COVID-19
  • 关于GIS的一些感悟·思考
  • Coding and Paper Letter(八十二)
  • 《剑指offer》分解让复杂问题更简单
  • JS专题之继承
  • leetcode386. Lexicographical Numbers
  • nginx 负载服务器优化
  • October CMS - 快速入门 9 Images And Galleries
  • Redis学习笔记 - pipline(流水线、管道)
  • vue.js框架原理浅析
  • 给第三方使用接口的 URL 签名实现
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 利用DataURL技术在网页上显示图片
  • 使用common-codec进行md5加密
  • 事件委托的小应用
  • 系统认识JavaScript正则表达式
  • 优化 Vue 项目编译文件大小
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • python最赚钱的4个方向,你最心动的是哪个?
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • #### go map 底层结构 ####
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (4)STL算法之比较
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (js)循环条件满足时终止循环
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (十) 初识 Docker file
  • (四)Android布局类型(线性布局LinearLayout)
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net 提取注释生成API文档 帮助文档
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...