2012-04-06 7 views
4

내가 실행중인 로컬 Pypi/Cheeseshop 서버에 IP2Location Python library을 넣어서 buildout을 사용하여 프로젝트에 자동으로 포함시킬 수 있습니다.C 라이브러리로 파이썬 파이썬 패키지를 만드는 방법은 무엇입니까?

첫째, 나는 그것을 IP2Location의의 (간결한) 문서에서 설명하는 방법을 설치하여 라이브러리를 테스트 : 1) IP2Location C library를 다운로드하고 2) IP2Location의 파이썬 라이브러리에 python setup.py build && python setup.py install을 실행하여 컴파일합니다.

내가 가지고 것을 내가 실행하여 내 로컬 pypi 서버에 파이썬 라이브러리를 업로드하려고 그럼, 작업 :

python setup.py register -r local sdist upload -r local 

그것은 내 로컬 pypi 서버에 패키지를 업로드하지만, 패키지는 파이썬을 포함 라이브러리의 일부이며 C 부분이 아닙니다. buildout과 같은 도구가 로컬 pypi 서버에서 다운로드 될 때 C 라이브러리를 포함시키고 자동으로 컴파일하고 싶습니다.

나는 꽤 피피이다. 내가 할 수있는 일이 가능한거야? 그렇다면 어떻게?

덕분에, 스콧

답변

2

불행하게도 아니, 적어도 방식 setup.py은 파이썬 라이브러리에 구성되어 있습니다. 다음과 같이 시도해 보면 재연성이 높아질 수도 있습니다. IP2Location은 독점 라이브러리입니다. 참고 : IP2Location은 독점 라이브러리입니다.

zc.recipe.cmmi을 사용하여 빌드 라이브러리에 C 라이브러리를 빌드하십시오. 다음과 유사한 섹션이 작업을 수행해야합니다.

[iplocationc] 
recipe = zc.recipe.cmmi 
url = http://www.ip2location.com/downloads/ip2location-c-4.0.2.tar.gz 

그런 다음, zc.recipe.egg를 사용하여 계란과 파이썬 상대를 설치

[iplocation] 
recipe = zc.recipe.egg:custom 
eggs = iplocation 
include-dirs = ${buildout:directory}/parts/iplocationc/includes_dir_goes_here 
rpath = ${buildout:directory}/parts/iplocationc/libs_dir_location_goes_here 

당신은 조리법이 조금 파라미터 아마 setup.py 바이올린 그러나 희망이 그것을해야 수정해야 할 수도 있습니다 .