1

Pyinstaller を使用してスタンドアロンの実行可能ファイルを作成しようとしていました。Configure から 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を同じ場所に保持しているわけではありません。

1人のユーザーは、次のようにしてエラーを解決しました。

私の場合、pyinstallerは/usr/lib/tcl8.5を検索していますが、config.datをハックしてこのパスをオーバーライドするときに/usr/share/tcltk/tcl8.5を検索する必要がある場合は、正常に機能します。

ubuntu11.10を使用する

別のユーザーがConfigure.pyの編集に成功しました。

于 2011-11-17T22:10:40.903 に答える