django项目打包成exe文件,并在windows服务器上运行

一、前言

要想项目能够持久运行,且不用每次都手动启动项目。就需要用到服务器,来代替我们启动项目。可以理解成:远程的一台电脑帮我们启动项目,只要远程的电脑不关闭,常见的服务器系统有windows和linux,这里以windows为例。

二、准备环境

1.pyinstaller

pyinstaller可以帮助我们打包解析项目文件,并生成相对应的配置

pip install pyinstaller

2.生成.spec文件

pyi-makespec -D manage.py

这里我们会在项目的根目录下生成一个manage.spec文件,如下图:

 图中圈出来的部分,刚开始是没有的,这里有个大坑,也很不方便。就是每次打包的时候都会出错,提示no module named xxx,这个xxx就是需要我们添加到hiddenimports列表里面的东西。麻烦的点就是不太清楚是哪几个,如果你是用django写的项目的话,拿必然会用到的是以下5个,后面打包的过程中,如果还有需要隐藏的可再次手动添加。5个modele如下:

'rest_framework.authentication','rest_framework.permissions','rest_framework.parsers','rest_framework.negotiation','rest_framework.metadata'

三、打包

准备好以上工作,我们就可以开始打包了。首先win+R到达我们的根目录下:

pyinstaller manage.spec

等待打包完成,会发现我们多了两个文件夹,dist和build

我们的.exe文件在我们的dist\manage目录下

四、部署windows服务器

 我们将刚才的项目压缩成.zip文件。打开远程桌面连接

除了要设置我们的ip地址以外,还要设置我们的本地资源,也就是将我们刚才压缩好的.zip文件同步到服务器上。在我们的windows服务器上解压刚才的文件,拿到我们的项目。

五、启动项目

 进入到我们的项目dist/manage目录下,输入:

python manage.exe runserver

这样的启动的方式是我们服务器的ip,当然也可以指定端口例如:

python manage.exe runserver 106.12.122.xx 8001

这样的话,只要我们这个windows服务器不关,我们的项目就可以一直跑。

六、思考

我觉得这种部署项目真的很方便,运用这样的方法,我在项目中加定时任务,自动调用接口。每天只需要观察邮件日志即可,实现了一个自动化的操作。

希望能给大家带来帮助,喜欢的点赞收藏哦。

来源:戒酒的李白-Lisage

物联沃分享整理
物联沃-IOTWORD物联网 » django项目打包成exe文件,并在windows服务器上运行

发表评论