首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pywebview --如何将pywebview应用程序冻结为更小的可执行文件?

Pywebview --如何将pywebview应用程序冻结为更小的可执行文件?
EN

Stack Overflow用户
提问于 2021-03-03 16:25:02
回答 1查看 589关注 0票数 0

我的目标:

将一个简单的pywebview应用程序捆绑在Linux (特别是Arch )上作为一个独立的可执行文件(一个文件)。二进制可执行文件的大小必须不大于30 no。密码在下面。

问题:

在尝试编译以下应用程序(名为foobar.py)时,以及在使用下面的命令与pyinstaller一起使用时:

代码语言:javascript
复制
# install my application's dependencies
pip install pywebview

# install pyinstaller
pip install pyinstaller

# install pywebview dependencies
pip install PyGObject
代码语言:javascript
复制
pyinstaller --exclude-module PyQt5 --exclude-module sympy --exclude-module numpy foobar.py

得到的可执行文件大小为3.1GB.

电流非工作解决方案

使用python虚拟环境并运行与上面相同的命令。可执行文件的大小没有明显的减少。

当前源代码:

foobar.py

代码语言:javascript
复制
import webview

html = """

<!DOCTYPE html>
<html>
  <head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
      body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI",
          "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
      }
      div {
        width: 600px;
        margin: 5em auto;
        padding: 2em;
        background-color: #fdfdff;
        border-radius: 0.5em;
        box-shadow: 2px 3px 7px 2px rgba(0, 0, 0, 0.02);
      }
      a:link,
      a:visited {
        color: #38488f;
        text-decoration: none;
      }
      @media (max-width: 700px) {
        div {
          margin: 0 auto;
          width: auto;
        }
      }
    </style>
  </head>

  <body>
    <div>
      <h1>Hello World</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
        <p>
        <a href="https://example.org">More information...</a>
      </p>
    </div>
  </body>
</html>
"""

webview.create_window('Hello world', html=html)
webview.start()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-04 17:24:26

这是我的解决方案:

virtualbox

  • Delete
  • 使用Ubuntu在/usr/local/themes中的所有主题和/usr/local/icons中的所有图标创建一个虚拟机,除了default/文件夹
  • 外,然后再尝试使用pyinstaller
  • ,您的二进制文件大小将在80 MB左右(37x更小)H 211f 212
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66461034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档