【发布时间】:2016-06-07 09:37:18
【问题描述】:
我正在尝试将 Kivy 应用程序编译为 windows exe,但我不断收到属性错误: AttributeError:“str”对象没有属性“items”
我已经编译了其他应用程序,并按照kivy page(完成演示)的说明逐行操作,但是当我尝试对我的应用程序执行相同操作时,我收到了上述错误。我不知道该去哪里我已经尝试了几个小时,但我似乎无法取得任何进展。任何帮助将不胜感激。
编辑: 下面是堆栈跟踪的尾部,整个事情很长,所以我粘贴了我认为可能相关的内容,但坦率地说,我在这里有点超出我的深度:)
6363 WARNING: stderr: File "c:\python27\lib\site-packages\PyInstaller\depend\a
nalysis.py", line 198, in _safe_import_module
hook_module.pre_safe_import_module(hook_api)
6375 WARNING: stderr: hook_module.pre_safe_import_module(hook_api)
File "c:\python27\lib\site-packages\PyInstaller\hooks\pre_safe_import_module\
hook-six.moves.py", line 55, in pre_safe_import_module
6378 WARNING: stderr: File "c:\python27\lib\site-packages\PyInstaller\hooks\pr
e_safe_import_module\hook-six.moves.py", line 55, in pre_safe_import_module
for real_module_name, six_module_name in real_to_six_module_name.items():
6388 WARNING: stderr: for real_module_name, six_module_name in real_to_six_m
odule_name.items():
AttributeError: 'str' object has no attribute 'items'
6396 WARNING: stderr: AttributeError: 'str' object has no attribute 'items'
我的规格:
# -*- mode: python -*-
from kivy.deps import sdl2, glew
block_cipher = None
a = Analysis(['face.py'],
pathex=['c:\\Users\\Home\\PycharmProjects\\MSICheck\\Images'],
binaries=None,
datas=None,
hiddenimports=['sqlite3','kivy.app','six','packaging','packaging.version','packaging.specifiers'],
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='face',
debug=True,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,Tree('c:\\Users\\Home\\PycharmProjects\\MSICheck\\Images\\'),
a.binaries,
a.zipfiles,
a.datas,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
strip=False,
upx=True,
name='face')
编辑: 显然它与 Kivy 无关,因为我已经重写了前端以使用 TKinter,但我仍然遇到问题。
【问题讨论】:
-
您尝试运行的命令、获得的输出、屏幕截图或其他任何内容都会有所帮助。
-
我猜你有一个你认为是字典的字符串...
-
很抱歉,我不知道(现在仍然不知道)应该提供什么帮助。
-
python -m PyInstaller face.spec是我要运行的命令 -
@JoranBeasley py 脚本不使用任何字典,如果我通过 Kivy 运行它,它工作正常,当我尝试通过 PyInstaller 创建 exe 时出现错误。我已经重新安装了 Kivy、PyInstaller,并收集了我能找到的所有信息,但还没有找到解决方法。
标签: python windows pyinstaller