在 Windows 命令行上使用 PyInstaller 时文件夹的 ModuleNotFoundError

ModuleNotFoundError for folder when using PyInstaller on Windows command line

我正在 PyCharm 上构建一个 kivy 应用程序。我的 Test.py 从中导入 testone.py 和 运行s 函数。当我 运行 Test.py 在 PyCharm 中构建应用程序并且 运行 没问题。但是,为了为应用程序构建 .exe,我 运行 在命令行中输入以下内容:

python -m PyInstaller --name TestAppWD9 --onefile --add-data "Desktop\KivyUdemyCourse\AdvKivywKV\testone.py;Desktop\KivyUdemyCourse\AdvKivywKV\testone.py" C:\Users\jgldm\Desktop\KivyUdemyCourse\AdvKivywKV\Test.py

我得到这样的规范文件:

# -*- mode: python -*-
from kivy.deps import sdl2, glew
import pygame.pkgdata

block_cipher = None


a = Analysis(['C:\Users\jgldm\Desktop\KivyUdemyCourse\AdvKivywKV\Test.py'],
             pathex=['C:\Users\jgldm'],
             binaries=[],
             datas=[('Desktop\KivyUdemyCourse\AdvKivywKV\testone.py', 'Desktop\KivyUdemyCourse\AdvKivywKV\testone.py')],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
          [],
          name='TestAppWD9',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=True )

当我 运行 从规范文件构建的应用程序时,我得到 ModuleNotFoundError: No module named 'AdvKivywKV'

如何获取规范文件以查找并包含 AdvKivywKV?

需要修复文件夹结构,方法是将 testone.py 放入包含 __init__.py 文件的子文件夹中。后者可以为空。在此之后我将导入更改为 from subfolder_name.testone import function