我已经构建了一个包含python模块的debian包。 问题是
dpkg-deb -c python-mymodule_1.0_i386.deb
显示所有文件都将安装在
下/usr/lib/python2.6/dist-packages/mymodule*
这意味着安装我的deb软件包的最终用户需要使用与我完全相同的python版本 - 但我知道我的模块也可以在以后的版本中正常工作。
在我的Makefile中,我有以下目标:
install:
python setup.py install --root $(DESTDIR) $(COMPILE) --install-layout=deb
其中setup.py是
from distutils.core import setup
setup(name='mymodule',
version='1.0',
description='does my stuff',
author='Me',
author_email='myemail@localhost',
url='http://myurl/',
packages=['mymodule'],
)
有没有什么方法可以编辑setup.py文件或Makefile,以便生成的模块安装在python-version中性目录而不是/usr/lib/python2.6?
谢谢,
亚历
答案 0 :(得分:0)
我想我现在已经找到了答案(感谢Tshepang的指示):
在debian / rules中,您需要调用dh_pysupport。
这将抓取
中构建计算机上setup.py安装的所有文件$(DESTDIR)/usr/lib/pythonX.Y/dist-packages/mymodule*
并将它们放入.deb文件中的非python版本特定位置,即
/usr/share/pyshared/mymodule*
最后,它将update-python-modules调用添加到postinst脚本中,这样可以确保模块在目标机器上存在的每个版本的python上都可用。