Python Kivy 项目未转换为可移植的 .exe 文件

问题描述 投票:0回答:1

我已经为我的程序创建了一个 exe 文件。它在我的桌面上运行良好。但在另一个桌面上,如果我只发送 exe 文件,它会说“找不到名为“login.kv”的文件\目录”

我需要一个独立的exe文件,无论它放在哪里或放在哪个桌面,没有源代码,它都应该运行。

我创建了一个Python Kivy项目,其中包含许多.py和.kv文件。使用 Pyinstaller 我已将其创建为 exe 文件

线路:

pyinstaller --onefile --add-data "*.py;." --add-data "*.kv;." login.py
它被创建为 exe 文件并且运行良好。

但是,当我仅将 exe 文件发送到另一个桌面时,它显示“未找到名为‘login.kv’的文件/目录”

尝试过,pyinstaller,cx_Freeze,自动 Py 到 Exe...

是不是因为我返回了

return Builder.load_file('C:/Users/Admin/PycharmProjects/CCV4Project/Main/main.kv')
这样的kv文件?

如果我使用绝对路径之类的东西,

    def resource_path(relative_path):
        try:
            base_path = sys._MEIPASS
        except Exception:
            base_path = os.path.abspath('.')
        return os.path.join(base_path, relative_path)

return Builder.load_file(self.resource_path('login.kv'))

它根据“其”位置搜索文件。

但是,我想要一个 .exe 文件,它可以运行我的整个项目,无论它放在哪里。它基本上应该像一个应用程序。

python kivy pyinstaller exe cx-freeze
1个回答
0
投票

您需要使用 pyinstaller 的规范文件来构建 kivy 应用程序。还有一些其他文件必须导入并与应用程序捆绑在一起。包装文档中对此进行了描述。这是一个示例规范文件,请注意路径取决于项目的结构。这是最近项目的规范文件: https://github.com/ElliotGarbus/KivyCythonWinSample/blob/main/inno-pyinstaller/w11-app.spec

带有 kivy_deps 的行很关键。

© www.soinside.com 2019 - 2024. All rights reserved.