だから今、私は実行可能ファイル(できれば単一のファイル)に変換したいpythonプログラムを持っています。現在、ターゲット システムは RedHat (および CentOS) と Debian (および Ubuntu) のみです。
まず、PyInstaller を試してみましたが、実行すると、.specファイルと、build と dist という 2 つのフォルダーが作成されます。そこから先に進む方法がわかりません。
次に、Python に同梱されている freeze.py を試しました。使用法は次のように理解しています。
python /path/to/freeze.py /path/to/myfile.py
これはエラー***Test Failed*** 2 failures
をスローし、NameError: name 'testdata' is not defined
完全なエラーは次のとおりです。
**********************************************************************
File "/usr/lib/python2.6/site-packages/freeze.py", line 117, in __main__.freeze
Failed example:
testdata = json.loads(
gzip.open("testdata.json.gz", "r").read().decode()
)
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.6/doctest.py", line 1253, in __run
compileflags, 1) in test.globs
File "<doctest __main__.freeze[3]>", line 2, in <module>
gzip.open("testdata.json.gz", "r").read().decode()
File "/usr/lib64/python2.6/gzip.py", line 33, in open
return GzipFile(filename, mode, compresslevel)
File "/usr/lib64/python2.6/gzip.py", line 79, in __init__
fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')
IOError: [Errno 2] No such file or directory: 'testdata.json.gz'
**********************************************************************
File "/usr/lib/python2.6/site-packages/freeze.py", line 121, in __main__.freeze
Failed example:
freeze(testdata) == freeze_fast(testdata)
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python2.6/doctest.py", line 1253, in __run
compileflags, 1) in test.globs
File "<doctest __main__.freeze[4]>", line 1, in <module>
freeze(testdata) == freeze_fast(testdata)
NameError: name 'testdata' is not defined
**********************************************************************
1 items had failures:
2 of 8 in __main__.freeze
***Test Failed*** 2 failures.
2つ(または同じ結果を達成するのに役立つ他のツール)のいずれかを使用するための助けが必要です。
ありがとう。