Pyinstaller无法工作

1 投票
1 回答
2881 浏览
提问于 2025-04-17 06:28

我在尝试使用Pyinstaller创建一个独立的可执行文件。配置到Makespec的过程都很顺利。但是在处理Build.py的时候,出现了以下错误。

  checking PYZ
    rebuilding outPYZ1.toc because outPYZ1.pyz is missing
    building PYZ outPYZ1.toc
    checking PKG
    rebuilding outPKG3.toc because outPKG3.pkg is missing
    building PKG outPKG3.pkg
    checking EXE
    rebuilding outEXE2.toc because countdown missing
    building EXE from outEXE2.toc
    Appending archive to EXE /home/krishna/countdown/pyinstaller-     1.5.1/countdown/build/pyi.linux2/countdown/countdown
    checking COLLECT
    building because outCOLLECT4.toc missing or bad
    building COLLECT outCOLLECT4.toc

我使用的是Tkinter。这会造成什么问题吗?如果Pyinstaller不行,还有什么其他的选择呢?

我在使用-K选项处理Makespec.py,然后继续执行Build.py时,收到的错误信息是

checking Tree
building because outTree4.toc missing or bad
building Tree outTree4.toc
Traceback (most recent call last):
  File "Build.py", line 1494, in <module>
    main(args[0], configfilename=opts.configfile)
  File "Build.py", line 1472, in main
    build(specfile)
  File "Build.py", line 1429, in build
    execfile(spec)
  File "/home/krishna/countdown/pyinstaller-1.5.1/countdown/countdown.spec", line 13, in <module>
    coll = COLLECT(TkTree(), exe,
  File "Build.py", line 1401, in TkTree
    tcltree = Tree(tclroot, tclnm, excludes=['demos','encoding','*.lib'])
  File "Build.py", line 1335, in __init__
    self.__postinit__()
  File "Build.py", line 298, in __postinit__
    self.assemble()
  File "Build.py", line 1374, in assemble
    for fnm in os.listdir(dir):
OSError: [Errno 2] No such file or directory: '/usr/lib/tcl8.5'

1 个回答

1

这是一个已报告的问题。PyInstaller在寻找tcl8.5时找错了地方。我猜不是所有的Linux系统都把tcl放在同一个位置。

有个用户通过以下方法解决了这个错误:

对我来说,pyinstaller在找/usr/lib/tcl8.5,但它应该在/usr/share/tcltk/tcl8.5找。当我修改config.dat来覆盖这个路径时,就可以正常工作了。

我使用的是ubuntu 11.10。

另一个用户通过编辑Configure.py也成功解决了问题。

撰写回答