Pyinstaller无法工作
我在尝试使用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也成功解决了问题。