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

相关推荐
workflower28 分钟前
易用性和人性化需求
java·python·测试用例·需求分析·big data·软件需求
嚯嚯歪30 分钟前
攻克腾讯 TCaptcha 滑块验证码:纯 HTTP 协议逆向实战
爬虫·python·逆向·验证码识别
无心水35 分钟前
5、微服务快速启航:基于Pig与BladeX构建高可用分布式系统实战
服务器·分布式·后端·spring·微服务·云原生·架构
じ☆冷颜〃1 小时前
随机微分层论:统一代数、拓扑与分析框架下的SPDE论述
笔记·python·学习·线性代数·拓扑学
米羊1212 小时前
Struts 2 漏洞(下)
java·后端·struts
程序员敲代码吗2 小时前
提升Python编程效率的五大特性
开发语言·python
若丶相见2 小时前
腾讯云完整部署方案:CODING + CI/CD + Docker + Nginx + K8s 扩展
前端·后端
List<String> error_P2 小时前
Python蓝桥杯常考知识点-模拟
开发语言·python·蓝桥杯
比奇堡鱼贩2 小时前
python第五次作业
开发语言·前端·python
码农小韩3 小时前
AIAgent应用开发——DeepSeek分析(二)
人工智能·python·深度学习·agent·强化学习·deepseek