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

相关推荐
独好紫罗兰4 分钟前
洛谷题单3-P1307 [NOIP 2011 普及组] 数字反转-python-流程图重构
开发语言·python·算法
蹦蹦跳跳真可爱58919 分钟前
Python----计算机视觉处理(Opencv:道路检测完整版:透视变换,提取车道线,车道线拟合,车道线显示,)
开发语言·人工智能·python·opencv·计算机视觉
风象南23 分钟前
基于Spring Boot与大模型的自然语言数据库交互实践:智能语义化更新操作实现
java·spring boot·后端
帮帮志1 小时前
Python代码list列表的使用和常用方法及增删改查
开发语言·python
褚瑱琅2 小时前
T-SQL语言的压力测试
开发语言·后端·golang
小洛~·~2 小时前
《深度学习入门:基于Python的理论与实现》第三章神经网络
python·深度学习·神经网络
Jackilina_Stone5 小时前
【模型量化】GPTQ 与 AutoGPTQ
人工智能·python·gptq
东方靖岚5 小时前
R语言的数据库交互
开发语言·后端·golang
橙色小博6 小时前
PyTorch中的各种损失函数的详细解析与通俗理解!
人工智能·pytorch·python·深度学习·神经网络·机器学习
小森77677 小时前
(三)机器学习---线性回归及其Python实现
人工智能·python·算法·机器学习·回归·线性回归