使用Pyinstaller使Kivy App可以辩护



创建一个规格(带有pyinstaller)文件并添加所需的代码行(如Kivy文档所描述的那样),我得到了此TXT文件" WARNHR_SPECIALIST",其中大量"缺少"模块名为........."线。

此外

此按钮捕获了TXT文件路径,打开它&使用PANDAS模块的操纵数据..我是否应该添加OS模块?我真的很沮丧...

这是我的应用中使用的模块:

from kivy.app import App
from kivy.uix.button import Button
from kivy.core.window import Window
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
import re
import pandas as pd

我使用此命令创建规格文件:

 pyinstaller --onedir --name=HR_specialist --windowed "my_file_path_hereHR_specialist.py"

这是我得到的规格文件 我所描述的我在其中所做的Kivy更改:

# -*- mode: python -*-
from kivy.deps import sdl2, glew
from os import path
block_cipher = None

a = Analysis(['C:\Users\kedem_000\PycharmProjects\Projects\HR_specialist\HR_specialist.py'],
             pathex=['C:\Users\kedem_000\PycharmProjects\Projects\HRexe'],
             binaries=None,
             datas=None,
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='HR_specialist',
          debug=False,
          strip=False,
          upx=True,
          console=False )
coll = COLLECT(exe, Tree('C:Userskedem_000PycharmProjectsProjectsHR_specialist'),
               a.binaries,
               a.zipfiles,
               a.datas,
               *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
               strip=False,
               upx=True,
               name='HR_specialist')

我试图在两个星期之前解决这个问题,而我失去了我的想法...

如果需要更多信息,请发表评论。

谢谢!

此外

如果GUI有效,则意味着将依赖项成功包装到EXE/文件夹中(在您的情况文件夹中)。该报价的判断甚至Button事件也有效,因此Kivy应该正确打包。

但是,错误是关于一些丢失的模块(请包含log!),因此,它意味着模块未打包,或者Python无法导入它。如果它们没有打包,如果pyinstaller忘记将它们也列出到文件夹。

,您可能需要将它们包含在hidden_imports中。

如果它们被打包(打开文件夹,检查),则可能无法进口。这似乎您操纵了一条在Pycharm中获取导入的路径,您需要对其进行编辑。

最新更新