2016-07-27 5 views
2

私はPythonスクリプトから単一のファイルとして実行可能ファイルを作成するために、tkinterとpyinstaller/py2exe(どちらも問題ありません)を使用しています。私は実行可能ファイルを作成することができ、Pyinstallerでpy2exeまたは-Fオプションを指定してbundleオプションを使用しない場合は、必要に応じて実行されます。私はos.system()で自分のコード内にサードパーティ製のpythonスクリプトを実行していますが、それを動作させるために作成された後にこれらのスクリプトを 'dist'ディレクトリに置くことができます。このコマンドには、入力ファイル、出力ファイル、スレッド数などのいくつかのパラメータがあります。インポートを使用してコードに追加する方法が不明です。残念ながら、これはWindows上にあるため、一部の同僚はGUIを使用でき、単一の実行可能ファイルを配布したいと考えています。PyInstaller/Py2exe - シングルファイルコンパイルで第三者のスクリプトを使用したos.system呼び出しを含める

** EDIT:**私は1つの実行可能ファイルにバンドルして、exeファイルと一緒にスクリプトを提供することができます。ただし、コード内でサードパーティのスクリプトを実行すると、問題はまだos.system("python script.py -1 inputfile -n numbthreads -o outputfile..")となります。私は同僚が提供するスクリプトを使って実行可能ファイルをテストしましたが、この時点ではPythonをインストールする必要があります。これは複数のユーザーがいるので容認できません。

答えて

0

いくつかのテストの数日後、私はこの問題を回避する方法を見つけ出すことができました。 os.systemの代わりに、実行する必要のあるスクリプトごとにsubprocess.call("script.py arg1 arg2 ..., shell=True)を使用しています。また、実行可能ファイルであることを確認するためにスクリプトをウィンドウに転送する前にchmod +x(linux)を使用しました。 Pythonをインストールすることなく、同僚がpyInstallerを使って単一のファイルとしてコンパイルした後で、プログラムを実行することができました。私はまた、爆発的な実行可能ファイル(exeがスクリプトの配布に伴っていた場合、ユーザーはローカルで爆発的なインストールを行う必要がない)でも同じことをすることができました。これにより、bipython ncbiblastnコマンドラインとインストールを呼び出す必要がなくなりました。

関連する問題