コマンド ライン オプションが渡された場合にのみ、Python パッケージで (setuptools を使用して) 有効にしたい C 拡張機能を作成しました。これを行う最も簡単な方法は何ですか?
これについて簡単な方法を見つけることができないようです。
コマンド ライン オプションが渡された場合にのみ、Python パッケージで (setuptools を使用して) 有効にしたい C 拡張機能を作成しました。これを行う最も簡単な方法は何ですか?
これについて簡単な方法を見つけることができないようです。
実際には、これに使用できる「機能」と呼ばれる配布/setuptools機能があります。これは、setup.pyがコマンドラインオプションに基づいてさまざまなことを実行するように明示的に設計されてい--with-xxx
ます。--without-xxx
ext_modules = []
if '--add-this' in sys.argv:
ext_modules.append(Extension(...))
sys.argv.remove('--add-this')
setup(...
ext_modules = ext_modules
)
これはハックですが、最も簡単かもしれません。より高度なアプローチは、Distribution クラスを拡張してフラグをサポートすることです。たとえば--with-modules
、finalize_options 内の ext_modules をカスタマイズします。