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

相关推荐
was17212 小时前
多功能、自动化整理文件夹Python脚本
运维·python·自动化
Katecat9966312 小时前
【无标题】
python
weixin_4404016912 小时前
Coze-智能体Agent(工作流:批处理+图像生成+视频生成+)未完待续
python·ai·agent·coze
码云数智-大飞12 小时前
PyCharm 安装 Python 模块失败?常见 pip 报错原因与解决方案全解析
python·pycharm·pip
桂花很香,旭很美12 小时前
[7天实战入门Go语言后端] Day 0:预习——关键词、语法与常用包一览
开发语言·后端·golang
!chen12 小时前
基于 Spring Boot 3.5.x + Sa-Token + MyBatis 企业级文件管理系统
spring boot·后端·mybatis
会算数的⑨12 小时前
Spring AI Alibaba 学习(三):Graph Workflow 深度解析(上篇)
java·人工智能·后端·学习·阿里云·agent·saa
0思必得012 小时前
[Web自动化] Selenium获取网页元素在桌面上的位置
前端·python·selenium·自动化
❀͜͡傀儡师12 小时前
Spring Boot 实现PDF水印的完整指南
spring boot·后端·pdf
小鸡吃米…12 小时前
TensorFlow——TFLearn 及其安装
python·tensorflow·neo4j