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.sh
在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")
保存过后,就可以关闭编辑器,开始下一个步骤
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-8
import smtplib
from email.mime.text import MIMEText
from 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()
这个mail.py文件写完了,怎么调用呢?
我这里直接去hello.py文件夹的最后一句话中加上mail.sendMail(‘您的程序已经运行完成,请去宝塔面板查看日志结果’)即可
hello.py所有代码:
# -*- coding: UTF-8 -*-
import time
import mail
if __name__ == "__main__":
for i in range(5):
time.sleep(1)
print("hello world!")
mail.sendMail('您的程序已经运行完成,请去宝塔面板查看日志结果')
我们看一下文件结构,除了两个py和一个txt是我创建的,其他的都是自动生成的
log自然是日志记录,我们看到这次的记录为
所以使用python项目管理器真的是极大方便了我们运行python的项目,让我们及时高效的完成对某方向的计算。