2017-11-06 7 views
1

私は、.specファイルを使ってPyInstallerを使ってプログラムを "コンパイル"しています。私はプログラムに余分なファイルを含める必要があるので、.specファイルを使用しています。私がPyInstaller --onefile Prog.specをしようとすると、それはまだdistのフォルダを作成し、私が期待しているように1つのファイルを作るのではなく、すべてのファイルを別々にします。私がPyInstaller --onefile Prog.pyを実行すると、1つの.exeファイルがdistに作成されますが、これは私が望むものです。 .specファイルを使うときに何か特別なことがありますか?PyInstallerの.specで--onefileを使用する

「ワンに:何の収集ステップはありませんspecファイルで確認して、そうでない場合

pyinstaller --onefile --add-data <SRC;DEST or SRC:DEST> yourfile.py 

答えて

1

あなたは代わりにspecファイルを編集するコマンドライン上の余分なファイルを追加することができますファイルモードでは、COLLECTへの呼び出しはなく、EXEインスタンスはすべてのスクリプト、モジュール、バイナリを受け取ります。

https://pyinstaller.readthedocs.io/en/stable/usage.htmlコマンドラインフラグの詳細については、こちらをご覧ください。

問題が解決しない場合、これはまた、いくつかの洞察を提供することがあります:Bundling data files with PyInstaller (--onefile)

0

使用pyi-makespec --onefile yourprogram.pyをonefileモード用のサンプルspecファイルを生成します。

https://pythonhosted.org/PyInstaller/man/pyi-makespec.html


そこにはコレクトコールはなく、EXEコールが異なっています。例:

exe = EXE(pyz, 
      a.scripts, 
      a.binaries, 
      a.zipfiles, 
      a.datas, 
      name='main', 
      debug=False, 
      strip=False, 
      upx=True, 
      runtime_tmpdir=None, 
      console=True) 
関連する問題