Установка разрабатываемого модуля Python/Cython (расширение)

Я постоянно работаю над модулем Python, который содержит расширения C++, обернутые Cython. setup.py в настоящее время обрабатывает сборку модуля расширения и называется python3 setup.py --build_ext --inplace,

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


srcDir = "../src"
src = ["_MyProject.pyx"]    # list of source files

print("source files: {0}".format(src))

modules = [Extension("_MyProject",
                    src,
                    language = "c++",
                    extra_compile_args=["-fopenmp", "-std=c++11", "-O3", "-DNOGTEST"],
                    extra_link_args=["-fopenmp", "-std=c++11"],
                    libraries=["MyProjectLib", "log4cxx"],
                    library_dirs=["../"])]

for e in modules:
    e.cython_directives = {"embedsignature" : True}

setup(name="_MyProject",
     cmdclass={"build_ext": build_ext},
     ext_modules=modules)

В верхней части модуля Cython _MyProjectесть чистый модуль Python MyProject который импортирует вещи из _MyProject,

В настоящее время я использую и тестирую модуль cd-вхождение в его каталог и импортирование его оттуда. Как мне нужно изменить мой setup.py так что я могу установить MyProject в мой сайт пакеты и всегда ли пакет обновлен?

1 ответ

Добавьте аргумент py_modules = ["MyProject.py",] к вашей функции setup().

Другие вопросы по тегам