독점 라이브러리의 카메라 오류 메시지에 액세스하기 위해 C 확장자를 작성했습니다. 구조는 setup.py
패키지의 일부로 C 확장자가있는 Setuptools 사용
from setuptools import setup, Extension, find_packages
from dicamsdk.control import __version__
pcoErrorModule = Extension("dicamsdk.pcoError",
sources=["dicamsdk/pcoError.c"],
include_dirs=['C:\Program Files (x86)'
'\Digital Camera Toolbox'
'\Sensicam SDK\include'],
define_macros=[("PCO_ERRT_H_CREATE_OBJECT", None)],
)
setup(
name="pydicamsdk",
platforms=["win-amd64", 'win32'],
license="GNU GPLv3",
ext_modules=[pcoErrorModule],
packages=find_packages(),
version=__version__
)
와
setup.py
dicamsdk\
|---__init__.py
|---control.py
|---pcoError.c
내가 항상 패키지 I를 구축 (또는 설치)하려고하면 control.py
는
from . import pcoError
로 컴파일 된 C 확장을 가져올 계획 ImportError: cannot import name 'pcoError'
오류 메시지가 나타납니다.
작동하는 유일한 방법은 control.py
에서 가져 오기를 주석 처리하고 setup.py build_ext --inplace
을 사용하여 C 확장을 빌드하는 것입니다. 컴파일 된 현재와 함께 나는 내 라이브러리를 구축/설치할 수 있습니다.
내 setup.py
에 구현하여 간단한 설치가 가능하도록 내 확장 프로그램을 컴파일 할 수있는 솔루션이 있습니까?