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

相关推荐
qq_6543669812 小时前
如何安全清理数据库中未引用的图片文件
jvm·数据库·python
Victor35612 小时前
MongoDB(102)如何处理MongoDB中的数据冲突?
后端
IT_陈寒12 小时前
SpringBoot自动配置的坑差点没把我埋了
前端·人工智能·后端
一 乐12 小时前
智慧社区|基于Python + Django智慧社区系统(源码+数据库+文档)
java·数据库·python·django·论文·毕设·智慧社区系统
2401_8822737212 小时前
HTML怎么创建成就隐藏后恢复_HTML“重新公开”操作入口【详解】
jvm·数据库·python
码农阿豪12 小时前
群晖部署Moodist配内网穿透穿透,把白噪音服务搬到公网上
数据库·spring boot·后端
weixin_4585801213 小时前
如何自定义修改 Traccar Web 界面模板
jvm·数据库·python
m0_5150984213 小时前
如何修改AWR保留时间_将默认8天保留期延长至30天的设置
jvm·数据库·python
qq_6543669813 小时前
如何在 macOS 上为 PHP 8.0 正确集成 XML-RPC 支持
jvm·数据库·python
大江东去浪淘尽千古风流人物13 小时前
【UV-SLAM 】彻底吃透UV-SLAM:创新原理、工程实现与直线几何核心代码详解
数据库·人工智能·python·机器学习·oracle·uv