Django项目打包的步骤以及可能出现的问题
1、环境
这里笔者使用的环境为Python3.7与Django3.2.1
2、安装pyinstaller
使用命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
此处使用了清华大学的镜像网站
3、打包成exe
若想要打包的项目为单独的py文件,则使用
pyinstaller-F xxx.py
’打包
若想要打包的项目为一个的文件夹,则使用
pyi-makespec -D manage.py
生成spec文件,执行成功后,会显示如下信息,表示可以去构建可执行文件了
now run pyinstaller.py to build the executable
在目录下面会生成一个 manage.spec的文件,我们可以打开看一下内容:
然后运行
pyinstaller manage.spec
命令,生成打包的exe文件
打包程序的运行方式: 在manage.exe的位置打开cmd,输入
manage runserver ip:port --noreload
运行服务即可
4、新建直接运行的程序
新建一个run.py文件
import os
os.system('manage.exe runserver 8000--noreload')input()
pyinstaller -F run.py
在dist目录下得到一个run.exe,双击运行run.exe 就能运行django项目。
问题一:运行服务是会提示No module named XXX
这是因为Django有些module不会自动收集,需要手动添加
解决方法:在manage.spec文件中修改hiddenimports=[]为hiddenimports=[‘users’,‘users.apps’,‘sql_server.pyodbc.compiler’],提示缺少什么module就在此处添加什么。(但是很恶心人的是每次只会提示一个错误,需要一直修改manage.spec文件,然后重新打包)
问题二:打开网页出现TemplateDoesNotExist 错误
解决方法:根据错误的提示消息,把项目中的模板文件templates拷贝到相应的位置,刷新页面即可。(如把templates放到manage文件夹里)
版权归原作者 符阅 所有, 如有侵权,请联系我们删除。