纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

pyinstaller打包django 使用pyinstaller打包django的方法实现

倔犟的贝壳   2021-09-30 我要评论
想了解使用pyinstaller打包django的方法实现的相关内容吗倔犟的贝壳在本文为您仔细讲解pyinstaller打包django的相关知识和一些Code实例欢迎阅读和指正我们先划重点:pyinstaller打包django下面大家一起来学习吧。

虽然django项目我们一般通过部署服务器进行发布但是也有些情况可能就是一个小小的数据管理应用也就内部几个人使用想直接打包成一个应用在没有任何python环境的普通的机器上就能运行内网能访问就可以了。
pyinstaller 就能够用来将python应用打包成可执行文件。

Step 1: 生成spec文件

pyi-makespec -D manage.py 

执行成功后会显示如下信息表示可以去构建可执行文件了

now run pyinstaller.py to build the executable

在目录下面会生成一个 manage.spec的文件相当于一个构建可执行文件的配置文件。打开文件可以看一下主要有两个地方需要配置:

1.datas=[] 该配置用于配置static文件和templates文件
hiddenimports=[] 把settings里的install_apps 拷贝过来

 datas=[('/Users/huanghuan/Documents/python学习/django/loftyha/static','./static')],
             hiddenimports=[ 'django.contrib.admin',
                    'django.contrib.auth',
                    'django.contrib.contenttypes',
                    'django.contrib.sessions',
                    'django.contrib.messages',
                    'django.contrib.staticfiles',
                    'shift',],

Step 2: 使用pyinstaller 构建可执行文件

pyinstaller manage.spec 

待上述命令执行完在目录下面会生成dist和build目录在dist/manage目录下有一个可执行文件manage
cd dist/manage目录下命令行执行manage文件

./manage runserver ip:port --noreload

--noreload参数如果不加有可能会报错: RuntimeError('Script %s does not exist.' % py_script)

Traceback (most recent call last):
  File "manage.py", line 23, in <module>
  File "manage.py", line 19, in main
  File "django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "django/core/management/__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "django/core/management/base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "django/core/management/commands/runserver.py", line 61, in execute
    super().execute(*args, **options)
  File "django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "django/core/management/commands/runserver.py", line 96, in handle
    self.run(**options)
  File "django/core/management/commands/runserver.py", line 103, in run
    autoreload.run_with_reloader(self.inner_run, **options)
  File "django/utils/autoreload.py", line 640, in run_with_reloader
    exit_code = restart_with_reloader()
  File "PyInstaller/hooks/rthooks/pyi_rth_django.py", line 72, in _restart_with_reloader
  File "django/utils/autoreload.py", line 257, in restart_with_reloader
    args = get_child_arguments()
  File "django/utils/autoreload.py", line 244, in get_child_arguments
    raise RuntimeError('Script %s does not exist.' % py_script)


相关文章

猜您喜欢

网友评论

Copyright 2020 www.Shellfishsoft.com 【贝软下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式