微学网

热门关键词:   as  thinkphp  ecshop  xxx  商务通  www.ymwears.cn
热门: ASP.NET PHP编程 ASP编程 JSP编程 Python

Python3 Django项目打包成Windows下可运行的exe文件

发布时间:2021-05-21 来源:未知 点击:

1. 自行百度安装pyinstaller包。

2. 若项目中有css、js等等。在settings文件中加入以下代码。

STATIC_ROOT = os.path.join(BASE_DIR, 'static', 'static_root')

终端运行:

python manage.py collectstatic

django项目路径下执行python manage.py collectstatic会自动地将STATICFILES_DIRS列出的目录以及各个App下的static子目录的所有文件复制到STATIC_ROOT

django项目urls中加入:

from django.conf.urls.static import static
from django.conf import settings
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

此处是将STATIC_ROOT目录的静态文件复制一份到网页 STATIC_URL路径下。

3. 进入项目目录,shift+右键,在此处打开PowerShell窗口,输入命令pyinstaller -D manage.py

4. 修改manage.spec:

datas:里边加的是html文件,css、js等等文件。

hiddenimports:后边会说到。

5. 进入项目目录,shift+右键,在此处打开PowerShell窗口,输入命令pyinstaller manage.spec重新打包。

6. 此时项目目录下会生成一个dist的文件夹,进入dist在进入manage文件夹,shift+右键,在此处打开PowerShell窗口,输入mange.exe按tab runserver。

7.不报错则忽略,若报以下错误:

No module named XXX,这是因为Django有些module不会自动收集,需要手动添加。
解决方法:在manage.spec文件中修改hiddenimports=[]为hiddenimports=['users','users.apps','sql_server.pyodbc.compiler', '...', '...']
回到了第4步。
提示缺少什么module就在此处添加什么。(很恶心人的是每次只会提示一个错误,需要一直修改manage.spec文件,然后pyinstaller manage.spec重新打包)

8. 进入dist在进入manage文件夹,shift+右键,在此处打开PowerShell窗口,输入mange.exe按tab runserver。不报错则忽略,若报以下错误:

RuntimeError: Script runserver does not exist.
[7964] Failed to execute script manage
解决方案:运行时加--noreload 开关。
即:manage.exe runserver 8000 --noreload

9. 进入dist在进入manage文件夹,shift+右键,在此处打开PowerShell窗口,输入mange.exe按tab runserver 8000 --noreload。

到此程序基本已经没问题,已经可以正常访问了。

10. 拓展:新建一个run.py文件。

import os


os.system('manage.exe runserver 8000 --noreload')
input()

在run.py文件路径下,shift+右键,在此处打开PowerShell窗口输入pyinstaller -F run.py 打包run.py

注:也可以加入图标run.ico:打包命令为:pyinstaller -F -i run.ico run.py

将dist文件夹下的run.exe文件移到到 manage.exe同一路径下。

下次双击运行run.exe 就能直接运行django项目了。

-------ending--------


这就是微学网-程序员之家为你提供的"Python3 Django项目打包成Windows下可运行的exe文件"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/14532.html

上一篇:JVM 执行引擎详细说明解释

下一篇:没有了

网络编程 | 前端制作 | 数据库 | CMS教程 | 脚本编程 | 框架 | 服务器 | 微信开发 | APP开发 | 学习教程 |

凡本网站转载的文章、图片等资料的版权归版权所有人所有,因无法和版权所有者一一联系,如果本网站选取的文/图威胁到您的权益,请您及时和本网站联系。 我们会在第一时间内采取措施,避免给双方造 成不必要的损失。
© 2015-2021 微学网 版权所有,并保留所有权利。 备案号:粤ICP备09051474号-1

菜鸟学习网,提供各类程序编程入门,技巧