我在云上写python(jupyter notebook配置)

前言

  • 如果你和我一样不喜欢电脑里面一堆py文件和小脚本,请往下看
  • 如果你是个学生并且有每天网上签到打卡的任务,请往下看,或许有帮助
  • 如果你单纯只是想知道如何在云上配置jupyter notebook,也可以看看,这里给你最快最准确的配置过程。在你可能遇到问题的地方给你帮助。

配置jupyter notebook

一.购买云服务器

我推荐阿里云或腾讯云
服务器选择安装linux系统的服务器,不是的话可以在控制台里面重装系统(当然是服务器没什么重要文件的情况下)
以下以腾讯云的Ubuntu系统为例。
它的默认用户名为ubuntu,第一次连接服务器需要在腾讯云控制台需要重置密码
在这里插入图片描述

二.通过ssh连接服务器

ssh在windows系统中自带,cmd里面输入以下命令

ssh ubuntu@你的公网IP

然后输入密码
这是连接成功的效果图
在这里插入图片描述
@后面是你的主机名,前面是你的用户名
~代表用户文件夹(这是就是/home/ubuntu的意思)
$后面就是输命令的地方

三.安装pip

首先Ubuntu系统默认安装了python3和python2,下面只要安装pip和pip3即可

sudo apt-get install python3-pip
sudo apt-get install python-pip

安装好了之后推荐使用pip3安装各种包,pip安装可能会安装到python2
若显示

Unable to locate package python3-pip3

可以试试

sudo apt-get update

四.开始配置jupyter notebook

安装jupyter

sudo pip3 install jupyter

生成jupyter notebook的配置文件,这个很重要

jupyter notebook --generate-config

这个命令会在~/.jupyter文件夹里面生成一个叫jupyter_notebook_config.py的文件
~其实就是/home/ubuntu的意思,之后不再赘述。
我们cd到~/.jupyter文件夹,用vi打开打开jupyter_notebook_config.py

cd .jupyter/
vi jupyter_notebook_config.py
  • 插一句话,如果你不会vi编辑文件,那你就必须看看,首先你头次进入文件,光标处只能移动不能输入。按下i键,左下角出现Insert字样,说明进入insert模式,这样你就可以尽情输入。按下Esc键退出insert模式,然后再输入:wq再回车表示写入并退出

打开之后里面一堆注释,说明了每项配置项的意义,你只需在文件最前面输入以下配置

c.NotebookApp.ip = '*' 
#所有绑定服务器的IP都能访问,必须设置
c.NotebookApp.port = 8888 
#端口设置,这个需要在控制台防火墙设置里面开放这个端口
c.NotebookApp.open_browser = False 
#不在服务器的浏览器中打开jupyter notebook项目
c.NotebookApp.notebook_dir = '/home/ubuntu/jupyter_projects' 
#这里是设置Jupyter项目的根目录
c.NotebookApp.allow_root = True # 
#c.NotebookApp.password =  这个先注释掉,根据你的需求来添加,在后面提到

保存并退出vi
注意项目地址/home/ubuntu/jupyter_projects的前缀/home/ubuntu是你的家目录
我们需cd到家目录并且创建文件夹jupyter_projects

cd ~
mkdir jupyter_projects

之后还需在控制台防火墙设置上开放8888
在这里插入图片描述
在这里插入图片描述

五.启动jupyter notebook项目

测试启动,输入以下命令

jupyter notebook

然后在你的浏览器上输入你的公网IP:8888,看是否可以访问,如果可以那么恭喜你,你已经成功95%!!!当然这时你需要输入token(在控制台上看的到)开始随时编辑python代码和持久地挂起你的python脚本
但这时你在本地关闭控制台就会导致云上运行jupyter notebook项目关闭,所以你需要将项目在后台运行

nohup jupyter notebook &

随后会提醒你,项目的所有信息和日志将会输出在一个叫nohup.out文件内。

nohup: ignoring input and appending output to 'nohup.out'

六.设置访问密码

进入网站要输入token就很麻烦,所以自己设置password就比较好。

1.调用python包,生成sha字符串

键入

python3

进入python,输入以下代码

from IPython.lib import passwd
passwd()
Enter password: 
Verify password:
这里会输入一串sha字符串(假设为sha1:xxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxx)
exit()#退出python
2.修改配置文件

cd至/.jupyter文件夹,用vi打开打开jupyter_notebook_config.py,修改一行,记得去掉前面的#

c.NotebookApp.password = u'sha1:xxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxx'

这个u不能少

3.测试访问

在你的浏览器上输入你的公网IP:8888
成功效果图
在这里插入图片描述

介绍一点用处

这里介绍如何用它来实现每日签到打卡
首先需要很多前置知识,当然python基本语法必须了解

  • 学会如何用fiddler或者其他工具给手机抓包,并分析其请求。这是教程
  • 学会schedule模块的基本用法,这是教程
  • 知道如何使用requests模块的基本用法(签到请求一般是post请求),这是教程

流程

假设你已经学完或知晓上述知识,下面简单说说流程

0、建立一个ipynb文件

在这里插入图片描述

1、构造请求

假设我们已经抓到签到请求,我们主要关注它的Url(请求链接),Requests headers(请求头),Form Data(表单数据)三个部分
在模拟请求时,我们可能需要完全模拟Requests headers(请求头),因为里面的cookies信息记录了你的登录状态和身份,一般在电脑端模拟登录很麻烦,所以直接复制其Requests headers(请求头)是一种无奈但有效的方法,但是有些网站它的cookies是有时效的,就比较麻烦了。
然后就是Form Data(表单数据),里面记录了你需要提交的信息
比如名字、学号、体温…
这个也是模仿就行
假设这么一个函数

def job(headers , data):
	r = requests.post(
		url:xxxxx,
		headers:headers,
		data:data
	)
	#print(r.text) 调试的时候用
2、设定每日任务

利用schedule实现

schedule.every().day.at("08:30").do(job, headers,data)
while True:
    schedule.run_pending()
    time.sleep(1)

将这些代码运行起来后,你只需关闭网页,安心去睡觉就行了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值