3

1 つのパッケージに複数の .py ファイルがあります

packageA
    \__init__.py
    \mod1.py
    \mod2.py
    \mod3.py

コンパイルするように cython を構成してから、それらをすべて 1 つにまとめることはできpackageA.pydますか?

4

1 に答える 1

3

個人的には、すべての.pyファイルを に変換してから、Cython 拡張機能.pyxのメインに含めることをお勧めします。.pyx

packageA.pyx:

include "mod1.pyx" 
include "mod2.pyx" 
include "mod3.pyx" 

setup.py次に、次のようなものを使用してコンパイルします。

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

setup(
    cmdclass = {'build_ext': build_ext},
    ext_modules = [
        Extension("packageA", sources=["packageA.pyx"])
    ]
)                       

これを実行すると、オールインワンのpackageA.pydバイナリ ファイルが生成されます。もちろん、これは という名前の単一のモジュールを出力しますがpackageA、これが受け入れられるかどうか、またはパッケージに個別のモジュールが本当に必要かどうかはわかりません。しかし、あなたの質問により適した他の方法があるかもしれません...

于 2013-10-31T05:14:09.327 に答える