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

相关推荐
迷藏4941 分钟前
**发散创新:Go语言中基于上下文的优雅错误处理机制设计与实战**在现代后端开发中,**错误处理**早已不是简单
java·开发语言·后端·python·golang
2301_764441331 分钟前
基于python实现的便利店投资分析财务建模评估
开发语言·python·数学建模
Cache技术分享2 分钟前
370. Java IO API - POSIX 文件权限
前端·后端
用户962377954487 分钟前
工具魔改 | Cobalt Strike 4.7 特征修改与流量混淆
后端
gelald7 分钟前
Spring - AOP 原理
java·后端·spring
Chase_______14 分钟前
【Python 基础】第4章:函数模块与包完全指南(函数/模块/包)
开发语言·python
众创岛14 分钟前
测试失败时自动截图并附加到 Allure 报告
开发语言·python
Csvn17 分钟前
条件判断与循环结构详解
python
maxmaxma18 分钟前
ROS2机器人少年创客营:Python第二课
c++·python·机器人
智算菩萨18 分钟前
【Tkinter】10 Tkinter Listbox 列表框控件深度解析:多选模式、滚动条联动与双向选择器实战
python·ai编程