0

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 を編集して、結果のモジュールが /usr/lib/python2.6 ではなく Python バージョンの中立ディレクトリにインストールされるようにする方法はありますか?

ありがとう、

アレックス

4

1 に答える 1

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 でモジュールが利用できるようになります。

于 2013-03-11T11:03:15.747 に答える