2013-03-08 2 views
0

파이썬 모듈을 포함하고있는 데비안 패키지를 만들었습니다. 문제는 모든 파일이 설치됩니다파이썬 버전 중립 위치에 파이썬 모듈 설치하기

dpkg-deb -c python-mymodule_1.0_i386.deb 

/usr/lib/python2.6/dist-packages/mymodule* 

이 정확히 같은 버전을 사용하는 내 DEB 패키지를 설치하는 최종 사용자가 필요로한다는 것을 의미한다는 것입니다 나는 아직 모듈이 잘 작동한다는 것을 알고있다. 내 메이크에서

나는 다음과 같은 대상이 : setup.py가

from distutils.core import setup   
setup(name='mymodule', 
     version='1.0', 
     description='does my stuff', 
     author='Me', 
     author_email='[email protected]', 
     url='http://myurl/', 
     packages=['mymodule'], 
    ) 

install: 
    python setup.py install --root $(DESTDIR) $(COMPILE) --install-layout=deb 

입니다

내가 setup.py 파일이나되도록 메이크 파일 중 하나를 편집 할 수있는 몇 가지 방법이 있나요 결과 모듈은 /usr/lib/python2.6 대신 python 버전 중립 디렉토리에 설치됩니까? 당신이 dh_pysupport를 호출 할 필요가 데비안에서

/규칙 :

감사합니다,

알렉스

+1

Python 패키징 도우미 :'man dh_python2'을 살펴보십시오. [이 페이지] (http://wiki.debian.org/Python/Packaging)도 도움이 될 수 있습니다. – Tshepang

+0

감사합니다. 그러나, "--with = python2"를 dh 명령 행에 추가 한 후에도 여전히 문제가있었습니다. 필자의 빌드 호스트가 python2.6을 실행 중이고 그 결과 deb을 python 2.7 호스트 dpkg에 설치하려고 시도했을 때 "시스템상의 Python 버전"이 잘못되었음을 알게되었습니다. –

+0

저는 dh_pysupport에 대해 더 많은 행운을 얻었습니다. 이것은 postinst 스크립트에서 python-version으로 컴파일 단계를 수행하는 것으로 보입니다. –

답변

0

나는 지금합니다 (Tshepang에서 포인터 덕분에) 답을 찾은 것 같아요.

$(DESTDIR)/usr/lib/pythonX.Y/dist-packages/mymodule* 

에서 빌드 시스템에서 setup.py에 의해 설치된 모든 파일을 잡고 즉, 뎁 파일에 비 파이썬 버전의 특정 위치에

/usr/share/pyshared/mymodule* 
그들을두고

마지막으로 postinst 스크립트에 update-python-modules에 대한 호출을 추가합니다.이 호출은 대상 시스템에있는 모든 Python 버전에서 모듈을 사용할 수 있도록합니다.

관련 문제