1

次の方法でインストールする cython エクステンションがあります。

from distutils.core import setup
from Cython.Build import cythonize

setup(ext_modules=cythonize(
    "package.pyx",
    language="c++")
)

このパッケージをインポートするときは、次を使用してビルド フォルダーをパスに追加する必要があります。

import sys
sys.path.append(~/package/build/....)

モジュールを Linux にインストールし、パスに追加しなくてもインポートできるようにするには、インストールで何を変更する必要がありますか?

また、setuptools を使用することにもオープンです。

4

1 に答える 1

2

テンプレートとして試してみてくださいsetup.py...これらのことは正確に文書化されていません. ここで覚えておくべきことの 1 つは、ビルドするinplace場合、おそらく次のことを行う必要があるということですfrom projectname.module import module

try:
    from setuptools import setup
    from setuptools import Extension
except ImportError:
    from distutils.core import setup
    from distutils.extension import Extension

module = 'MyModuleName' # this assumes your .pyx and your import module have the same names
# ignore the below extra options if you don't need them (i.e. comment out `#`)
ext_modules = [Extension(module, sources=[module + ".pyx"],
              include_dirs=[],
              library_dirs=[], 
              extra_compile_args=[],
              language='c++')]

setup(
    name = module,
    ext_modules = ext_modules,
    cmdclass = {'build_ext': build_ext},
    include_dirs = [np.get_include(), os.path.join(np.get_include(), 'numpy')]
    )
于 2016-07-18T17:29:07.113 に答える