はい、間違いありません。 Cython documentationから:
あなたはモジュール名と呼ばれるモジュール、Cythonコンパイラmodulename.pxdと呼ばれるファイルのための 検索をcimport
。インクルードファイル(-Iコマンドライン オプションまたはcythonize()へのinclude_pathオプション)で指定されているようなファイル と、 sys.pathを検索します。
package_dataを使用してsetup.pyスクリプトに.pxdファイルをインストールする は、他のパッケージがモジュールのアイテムを に依存するように設定します。また
、あなたはファイルmodulename.pyxをコンパイルするたびに、対応する 定義ファイルmodulename.pxdが最初に含ま パス(ではないのsys.path)に沿って検索され、見つかった場合、それは 処理の前に処理され、 .pyxファイル
重要な部分は中間段落です。あなたのsetup.py
あなたのCythonクラスが定義されているプロジェクトのファイルでは、package_data
キーに.pxd
ファイルをリストする必要があります。たとえば、
# setup.py
setup(
name='my_cython_package',
packages=['example'],
package_data={'example': '*.pxd'}, # or wherever the files are
# ...etc...
)
これにより、残りのパッケージとともにインストールされ、他のプロジェクトでそれらをインポートできます。