pyinstaller导入错误,未找到图像

jef*_*amp 5 macos tkinter pyinstaller python-2.7

我正在尝试为mac创建一个应用程序.当我使用pyinstaller在Windows机器上制作exe时,它工作正常,但是当我在mac上执行它时,该文件符合,但是当执行时我得到以下错误.

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller/loader/pyi_importers.py", line 270, in load_module
    exec(bytecode, module.__dict__)
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/build/new_client/out00-PYZ.pyz/FileDialog", line 11, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller/loader/pyi_importers.py", line 270, in load_module
    exec(bytecode, module.__dict__)
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/build/new_client/out00-PYZ.pyz/Tkinter", line 39, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PyInstaller/loader/pyi_importers.py", line 409, in load_module
    module = imp.load_module(fullname, fp, filename, self._c_ext_tuple)
ImportError: dlopen(/var/folders/vb/vb9xryxdEz467ZADn0LL7U+++TI/-Tmp-/_MEIbvFCo2/_tkinter.so, 2): Library not loaded: @loader_path/Tcl
  Referenced from: /var/folders/vb/vb9xryxdEz467ZADn0LL7U+++TI/-Tmp-/_MEIbvFCo2/_tkinter.so
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

Tkinter和TCL似乎有些不对劲.以下是程序加载的模块.

import socket, thread, time, json, traceback, FileDialog
from functools import partial
from mtTkinter import *
Run Code Online (Sandbox Code Playgroud)

小智 0

我使用的是 openpyxl,它需要 datetime.py 模块中的 jdcal。隐藏的导入或任何 pyinstaller 解决方法都没有帮助,运行 exe 仍然会说 jdcal 未找到。我使用的解决方法是将 jdcal 中的几个函数直接复制到 openpyxl 代码中的 datetime.py 中。然后运行 ​​pyinstaller -F program.py

成功了!这不是最好的答案,但当你试图为客户推出一个项目时,它是有效的。