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

相关推荐
一见7 分钟前
如何安装 dlib 和 OpenCV(不带 Python 绑定)
人工智能·python·opencv
青w韵8 分钟前
SpringBoot3.x 升级到 SpringBoot 4.x,JDK17升级到JDK21
java·后端·spring
vx_bisheyuange8 分钟前
基于SpringBoot的经方药食服务平台
java·spring boot·后端·毕业设计
哈哈老师啊10 分钟前
Springboot企业办公信息化管理系统6z1v1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
永远是我的最爱24 分钟前
基于ASP.NET的图书管理系统的设计与实现
前端·后端·sql·visual studio
钟离墨笺33 分钟前
Go语言-->interfance{}赋值的陷阱
开发语言·后端·golang
刘晓倩37 分钟前
Python内置函数-hasattr()
前端·javascript·python
逆境清醒40 分钟前
Python中的常量
开发语言·python·青少年编程
紫小米1 小时前
MCP协议与实践
python·llm·mcp协议
二哈喇子!1 小时前
Python报错:SyntaxError: invalid character ‘,‘ (U+FF0C)
python