1.前言介绍

最近我在使用python库做一些跟视频有关系的内容时,发现有些内容会特别占电脑内存和cpu,而且等跑完程序可能需要好几个小时,这时候我就想能不能把我的10元一个月的阿里云云服务器拿出来跑python?不用开电脑还能跑python程序,还能省几个电钱 。说干就干

先展示一下在阿里云云服务器跑python的效果:

要想实现上图的效果,就需要按照如下步骤一步一步操作

2.安装宝塔面板

PS:已经安装过的可以忽略这一条

首先我们先去宝塔面板官网

查找安装代码,我这边为了方便大家就把linux系统下的宝塔面板安装代码放在下面

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh1

在Linux环境中运行这句话即可对宝塔面板的安装(详细的宝塔面板安装可以看其他博主)

安装成功后就是这个样子

这时候我们点击左侧的软件商店,然后在输入框中输入"python"点击查找即可找到Python项目管理器 1.7,这时候我们点击安装即可完成python的安装(我这里已经安装过了就不展示了)。

至此我们已经完成了python的安装

3.创建一个hello world的python项目

万事开头难,开头hello world有点甜

首先我们点开python项目管理器,先创建一个hello world的项目看一下效果。

首先点开左侧文件按钮,随便创一个python的专属路径文件夹,名字随意。

创建完后点击新建一个空白文件。名字设置为requirements.txt。多一个字少一个字母多一个空格都不行。

创建完成后选择同样的方式,创建一个hello.py文件,输入如下代码,打印一个hello world

# -*- coding: UTF-8 -*-if __name__ == "__main__": for i in range(100) print("hello world")1234

保存过后,就可以关闭编辑器,开始下一个步骤

4.运行python程序

打开python项目管理器,点击绿色的“添加项目”按钮,仿照下图,分别填写对应信息,后期如果你的项目需要单独使用某库,就需要把“是否安装模块依赖”选上。

我再展示一下我的文件路径

点击“确定”的绿色按钮,就可以实现对python项目的运行。tip:由于我们的项目运行即停,所以是肯定是提示创建失败的,因为很短的时间内即可完成项目的运行,只有那些要花费很长时间的项目才会提醒项目创建成功。但是这些对我们创建项目并没有什么影响。

由于我们创建的hello world项目运行太快,我们需要去宝塔ssh终端去运行项目,可以看到我们已经成功打印出来了hello world!

至此我们已经完成了对python项目在云服务器的运行。

5.添加模块

比如我想用jieba库里面的东西,我们这时候不是使用pip去Linux环境下安装(当然你非要这样的话),我们可以先在创建项目的时候,选中是否安装模块依赖,然后在点击你创建项目的那条里面的“模块”按钮,输入您要创建的库名字(我这里安装jieba库直接输入jieba,直接点击添加,不用输入版本号,即可完成安装)

安装成功后直接import即可

6.云服务器跑python的优点:

可以再也不用盯着电脑跑龟速程序了,项目创建完毕即可关闭网页,python项目管理器可以不用打开页面,后台会自动继续运行程序

当然这时候就有人要问了,如果放在云服务器上,是不是每过一会就要看着自己的程序是否跑完了?

答案很明显是否定的

7.如何让程序跑完,发一封邮件通知我?

这里我就要推荐大家使用SMTP发送邮件了,在程序运行完,就立马发一封邮件提醒我程序跑完了。我们先看一下效果

废话不多说直接上代码 mail.py

#coding=utf-8import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipart # 一封邮件def sendMail(msg): # sender = "请输入发送方的邮箱账号" to_list = [ "请输入接受方的邮箱账号" ] subject = "程序完成情况" # 创建邮箱 em = MIMEMultipart() em["subject"] = subject em["From"] = sender em["To"] = ",".join(to_list) # 邮件的内容 content = MIMEText(msg) em.attach(content) # 发送邮件 # 1、连接服务器 print("开始连接服务器") # smtp = smtplib.SMTP() # smtp.SMTP_SSL_PORT #21端口已经被云服务器商关闭了,所以只能用465端口了 smtp=smtplib.SMTP_SSL("smtp.163.com",465) # smtp.connect("smtp.163.com") print("连接服务器成功") # 2、登录 print("开始登录服务器") smtp.login(sender, "请输入发送方的邮箱密码") print("登录服务器成功") # 3、发邮件 print("开始发送邮件") smtp.send_message(em) print("发送邮件成功") # 4、关闭连接 smtp.close()12

这个mail.py文件写完了,怎么调用呢?

我这里直接去hello.py文件夹的最后一句话中加上mail.sendMail(‘您的程序已经运行完成,请去宝塔面板查看日志结果’)即可

hello.py所有代码:

# -*- coding: UTF-8 -*-import timeimport mailif __name__ == "__main__": for i in range(5): time.sleep(1) print("hello world!") mail.sendMail("您的程序已经运行完成,请去宝塔面板查看日志结果")12

我们看一下文件结构,除了两个py和一个txt是我创建的,其他的都是自动生成的

log自然是日志记录,我们看到这次的记录为

所以使用python项目管理器真的是极大方便了我们运行python的项目,让我们及时高效的完成对某方向的计算。