pyinstall 打包Django程序

pyinstall 打包Django程序

基本流程

安装pyinstaller

bash 复制代码
pip install pyinstaller

生成.spec文件

在编辑器的虚拟环境中执行如下命令:

bash 复制代码
pyi-makespec -D manage.py

编辑manage.spec文件

在a = Analysis()的hiddenimports=[]列表中添加如下文件:

  • INSTALLED_APPS所有应用
  • MIDDLEWARE 中所有中间件
  • urls.py 中的所有url引用包
  • TEMPLATESlibraries下的所有包

生成.exe文件

执行如下命令,生成mannage.exe文件

bash 复制代码
pyinstaller manage.spec

模板文件和静态文件

复制模板templates文件夹和static文件夹到_internal

如果有其他外部文件也需要手工复制

运行命令

bash 复制代码
manage.exe runserver 0.0.0.0:8080 --noreload

说明:一定需要加上--noreload

常见错误

  • TypeError: expected str, bytes or os.PathLike object, not NoneType

    原因是不是每个应用中都有__init__.py文件,需要检查所有应用,添加上改文件,内容为空。

  • 启动服务时提示 No module named XXX

    需要配置.spec文件项目中的对应项目需要写入hiddenimports里面,提示缺少什么,添加上该模块,然后重新打包

  • RuntimeError: Script runserver does not exist.

    解决办法:只需在命令末尾加上 --noreload即可

相关推荐
Cache技术分享5 分钟前
327. Java Stream API - 实现 joining() 收集器:从简单到进阶
前端·后端
颜酱6 分钟前
滑动窗口算法通关指南:从模板到实战,搞定LeetCode高频题
javascript·后端·算法
Learner__Q13 分钟前
GPT模型入门教程:从原理到实现
python·gpt
夕除17 分钟前
js--21
java·python·算法
重生之后端学习22 分钟前
994. 腐烂的橘子
java·开发语言·数据结构·后端·算法·深度优先
癫狂的兔子27 分钟前
【Python】【机器学习】逻辑回归
python·机器学习·逻辑回归
啊阿狸不会拉杆36 分钟前
《计算机视觉:模型、学习和推理》第 2 章-概率概述
人工智能·python·学习·算法·机器学习·计算机视觉·ai
大黄说说1 小时前
Spring Boot 3 新特性详解与迁移指南:从 Java 17 到云原生最佳实践
开发语言·python
尘缘浮梦1 小时前
yield关键字
python