いくつかのコンテキスト:コンパイル時に次のようにターミナルで呼び出すことができるCコードがいくつかあります。./my_excec -params
これは、チャートやその他のものを生成するためにPythonで使用しているいくつかのファイルを生成します。
CコードとPythonコードの両方をPythonライブラリにすべて詰め込みたいです。C コードは Python 拡張機能ではありません (将来的にはそうなりますが、現在はそうではありません)。
Cコードをコンパイルするためのmakeファイルがあり、次のようにsetup.pyから呼び出すことができることを知っています:
subprocess.call(['make', '-C', 'word2vec-src'])
私ができるようにしたいpip install my_module
のは、makefile を呼び出し、C をコンパイルして、ユーザーがバイナリを呼び出せるようにする必要がありますmy_excec -params
。また、Python コードをその周りにインポートできるようにすることです。
私が抱えている問題は、python パッケージをパッケージ化するときです。data_files
このオプションを次のsetup()
ように使用しています。data_files=[('bin', ['bin/binary_file'])],
これにより、ファイルが bin からインストール フォルダー (仮想環境内) に移動され、それらを呼び出すことができます。しかし、パッケージ化によってコンパイル済みファイルも tarball に配置され、pip install my_module を呼び出すと、コンピューターからコンパイル済みファイルが配置されます。
ありがとう。