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即可

相关推荐
SunnyDays10113 分钟前
如何使用 Python 删除 Word 文档空白行(含批量处理)
python·删除word文档空白行
众生皆苦,我是红豆奶茶味8 分钟前
【工具】Codex 配置文件速查笔记(截至 2026 年 05 月 09 日)
人工智能·笔记·python·深度学习·神经网络
仅此,9 分钟前
vscode 启动项目时,设置 PYTHONPATH 导包路径
ide·vscode·python·编辑器
_waylau17 分钟前
“Java+AI全栈工程师”问答01:Spring MVC登录页面错误提示
java·开发语言·vue.js·后端·spring·mvc·springcloud
于先生吖18 分钟前
家政派单小程序哪家好
python
HappyAcmen19 分钟前
15.json文件读取与写入
开发语言·python
AI人工智能+电脑小能手21 分钟前
【大白话说Java面试题 第41题】【JVM篇】第1题:JVM由哪些部分组成?
java·开发语言·jvm·后端·面试
Lee川22 分钟前
登录注册模块的 JWT 认证机制详解
前端·后端·react.js
木易 士心25 分钟前
深度解析:一个 Java 对象究竟占用多少字节?
java·开发语言·后端
Lee川7 小时前
面试通关:JWT 认证与双 Token 机制深度解析
后端·面试