1

我试图使用 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 不起作用,这是另一种可用的替代方法

我在使用 Makespec.py 的 -K 选项并使用 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'
4

1 回答 1

1

这是一个报告的问题。PyInstaller 在错误的位置查找 tcl8.5。我的猜测是,并非所有 Linux 发行版都将 tcl 保持在同一个位置。

一位用户通过这样做解决了错误:

对我来说,pyinstaller 在 /usr/lib/tcl8.5 中查找,当我破解 config.dat 以覆盖此路径时,它应该在 /usr/share/tcltk/tcl8.5 中查找,它工作正常

使用 ubuntu 11.10

另一位用户成功编辑了 Configure.py。

于 2011-11-17T22:10:40.903 回答