C 함수를 실행해야하는 Python 응용 프로그램을 만들었습니다. 이렇게하기 위해 gcc를 사용하여 공유 라이브러리에서 C 함수를 컴파일하고 ctypes를 사용하여 파이썬 스크립트에서 라이브러리를 호출했습니다.pip 설치시 C 라이브러리 컴파일
나는 pip 패키지에 내 응용 프로그램을 포장하려하지만 pip 설치시 공유 라이브러리를 만들 수있는 방법이 없습니다. 설치 프로세스가 성공하면서, 공유 라이브러리가 아닌,
from setuptools import setup
from setuptools.command.install import install
import subprocess
class compileLibrary(install):
def run(self):
install.run(self)
command = "cd packageName"
command += " && git clone https://mygit.com/myAwesomeCLibrary.git"
command += " && gcc -my -many -options"
process = subprocess.Popen(command, shell=True)
process.wait()
setup(
name='packageName',
version='0.1',
packages=['packageName'],
install_requires=[
...
],
cmdclass={'install': compileLibrary},
) 핍에서 설치할 때,하지만 python setup.py install
을 할 때이 작동
:
나는 다음 (setup.py를) 시도 패키지 폴더 (pythonx.x/site-packages/packageName
)에 있습니다.
동일한 결과를 가진 distutils를 사용해 보았습니다. 여기
from setuptools import setup
from distutils.command.build import build
import subprocess
class Build(build):
def run(self):
command = "cd packageName"
command += " && git clone https://mygit.com/myAwesomeCLibrary.git"
command += " && gcc -my -many -options"
process = subprocess.Popen(command, shell=True)
process.wait()
build.run(self)
setup(
name='packageName',
version='0.1',
packages=['packageName'],
install_requires=[
...
],
cmdclass={'build': Build},
)
내 패키지
packageName/
├── packageName/
│ ├── __init__.py
│ ├── myFunctions.c
├── MANIFEST.in
├── README.md
├── setup.py
주의 아키텍처 : 질문 Run Makefile on pip install을 바탕으로
은 또한 다음과 같은 setup.py를 시도 핍으로 패키지를 설치 한 후, 나는 단지 설치 폴더 (pythonx.x/site-packages/packageName
)에
__init__.py
및
__pycache__
이 있어야합니다.
내 패키지에서 사용할 수 있도록 pip 설치 중에 공유 라이브러리를 어떻게 만들 수 있습니까?
감사합니다. 그러나 pip 설치 중에 라이브러리를 컴파일하고 싶습니다. –
CustomBuild가 아닌 CustomInstall을 사용하려고합니다. –