在window10上面配置内置Linux并且执行定时任务
目的之所以这样做主要是是因为几个原因:
Windows的定时任务并不好用
在Windows上面开虚拟机,占用资源较多,如果只是单纯为了一个定时任务的执行的话
手上没有服务器,不想出钱买一个服务器,只有Windows系统的电脑
第一步在Windows10开启内置Ubuntu
windows+x选n,打开设置 ->更新和安全 ->开发者选项
打开控制面板 -> 程序和功能 -> 启用或关闭Windows功能
确定,重启电脑
然后下载好后就有这个的相关图标,点开就是ubuntu系统了
第二步配置相关的python环境
Ubuntu 18.04预装了Python 3和Python 2。为了确保我们的版本是最新的,让我们用apt命令去更新和升级系统。Ubuntu上的apt是英文Advanced Packaging Tool(高级软件包工具)的简写
sudo apt update
sudo apt -y upgrade
此处的-y标志,将会确认我们同意安装所有项目,但根据你的Linux版本,在系统更新和升级时,你可能需要确认额外的系统提示。
当此过程完成后,我们可以通过输入以下命令,去检查系统中安装的Python 3版本:
python3 -V
你将在终端窗口中收到输出结果,它将告诉你版本号。版本号可能有所不同,但将会与此类似:
Output
Python 3.6.5
为了管理Python的软件包,让我们安装pip。这个工具将安装和管理在开发项目中,我们可能会用到的软件包
sudo apt install -y python3-pip
Python的软件包安装,可以通过输入以下命令去实现:
pip3 install 软件包的名称
可以使用镜像下载的更快一点
pip install 软件包的名称 -i https://pypi.douban.com/simple
这里的软件包的名称 可以是任何的Python软件包或软件库,比如用于网站开发的Django,或是用于科学运算的NumPy。 因此如果你想安装NumPy,你可以使用这个命令:pip3 install numpy。
有一些软件包和开发工具需要额外安装,以确保我们的编程环境有一个健全的配置:
sudo apt install build-essential libssl-dev libffi-dev python3-dev
关于matplotlib这个库的安装如果直接pip去安装容易失败
需要输入这个命令
sudo apt-get install python3-matplotlib
安装好之后,可能版本太低导致其他问题
这时候我们再去更新版本就好了,不一定是3.1.1可以是更高的版本
pip install matplotlib==3.1.1 -i https://pypi.douban.com/simple
关于中文字体混乱的问题
先去下载相关字体
字体
然后在python命令行输入如下语句
import matplotlib
print(matplotlib.matplotlib_fname())
样例输出:
其中matplotlibrc为可编辑文件。
下载字体到先前输出文件子目录下
目录为:mpl-data/fonts/ttf/
编辑matplotlibrc文件
修改如下代码
font.family : sans-serif
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus,将True改为False,作用就是解决负号’-'显示为方块的问题
删除matplotlib缓存
rm -rf ~/.cache/matplotlib
做完上面的步骤之后就可以正确显示中文字体了
Ubuntu的定时任务设置
#重载cron
sudo service cron reload
#查看cron状态
service cron status
#启动cron服务
service cron start
这样就算把Ubuntu关闭定时任务还是正常运行的
去定时任务里面添加内容,设置定时任务
vim /etc/crontab
然后再去Windows设置定时开机任务,这样到点了,就可以定时开机,然后Linux自动运行你的任务,做到不占用太多的性能也能正常运行你想要运行的脚本
这样就算把Ubuntu关闭定时任务还是正常运行的
去定时任务里面添加内容,设置定时任务
vim /etc/crontab
然后再去Windows设置定时开机任务,这样到点了,就可以定时开机,然后Linux自动运行你的任务,做到不占用太多的性能也能正常运行你想要运行的脚本