2017-11-23 2 views
1

pyinstallerを使用して、単一のcファイルを実行可能ファイルに変換しようとしています。今私がpyinstallerでコンパイルしたい理由は、exeファイルがMacとWindowsマシンの両方で実行されることになっているからです。コンパイルされたPythonコードのpyinstallerの使用

これはどうやってできますか?

答えて

0

Cython/CモジュールをPyinstaller実行ファイルに含めることができます。

ただし、PyinstallerはMacとWindowsで動作する1つの実行可能ファイルを作成するという目的には適していません。From the first question of the Pyinstaller FAQs:

私はクロスコンパイラとしてpyInstallerのを使用することはできますか? OS Xで実行中にWindowsバイナリをパッケージ化できますか?

いいえ、これはサポートされていません。 [...]

PyinstallerとはPythonスクリプトとそのライブラリをパッケージ化して、Pythonスクリプトを別途インストールすることなくPythonスクリプトを使用できるようにしています。これを行うには、プラットフォーム固有のPythonのバージョンをパッケージ化する必要があります。したがって、実行可能ファイルは、作成されたのと同じオペレーティングシステム上でのみ動作します。

さらに、コンパイルされたライブラリ(Cythonモジュールなど)をzipping them up and the extracting them into a temporary folder when runで処理します。したがって、でも、 PyinstallerはWindowsとMacの両方で動作するPythonの2つのバージョンをどうにかしてバンドルすることができました。あなたのCコンパイルされたモジュールは、単一のプラットフォーム用にしかコンパイルされませんでした。コードは移植性が低い。

あなたが求めていることをするための明白なツールはないと思います。

+0

pyinstallerにpythonスクリプトをexeにバンドルさせることはできません。それは両方のMacとWindows上で実行することができますか? それは私がそれをどのように解釈したかです: https://pyinstaller.readthedocs.io/en/stable/operating-mode.html#how-the-one-folder-program-works – Bjango

+0

いいえ、Pyinstallerはあなたのプログラムを実行可能ファイルWindowsやMacで実行できるが、同じ実行可能ファイルでは実行できません。 – DavidW

関連する問題