2

C 拡張モジュールを使用して Python 3 パッケージから Windows で exe を作成しようとしています。distutils では、次のような拡張機能を作成できます。

from distutils.core import setup, Extension

module1 = Extension('demo',
                     sources = ['demo.c'])

setup (name = 'PackageName',
       version = '1.0',
       description = 'This is a demo package',
       ext_modules = [module1])

それよりも、拡張機能は適切なコンパイラでコンパイルされ、次のコマンドで他のモジュールと一緒に配置されます。

python setup.py build_ext --inplace

cx_Freeze は、コードを Python インタープリターおよび関連パッケージと共に exe ファイルにパッケージ化できるモジュールです。その後、エンド ユーザーは Python をインストールしなくてもプログラムを使用できます。残念ながら、cx_Freeze には Extension クラスがなく、cx_Freeze でコンパイルを処理する方法が見つかりません。

私がよくわからない解決策の 1 つは、最初に distutils/setuptools を使用して適切な場所に拡張機能をビルドし、次に cx_Freeze を使用して実行可能ファイルを作成することです。私は車輪を再発明したくないので、この分野でより多くの経験を持つ他の誰かが解決策を持っているのだろうか.

4

1 に答える 1