星期五, 9月 13, 2013

將 python package 快速打包為 debian package - stdeb

這兩天看到 clonedigger,這是一個可以找尋程式裡是否有相似重複片段的工具,在找到重複的片段以後,就可以加以重整。老樣子去 ubuntu ppa 找了一下,發現沒有人打包,那麼就只能透過 east_install/pip 來安裝或是自己打包了。
這次就試著自己打包看看。
一般 python package 都會提供 setup.py ,這是使用 python 內建的 module:distutils 來建立的,在官方 distutils 的文件有提到使用方法。裏面就已經提供了打包為 RPM package 的選項,但是就沒有 debian packages。上網找了一下,這篇 Python distutils - does anyone know how to use it? 提供了不少可以參考的文件,循線找到這篇 Standard way to create debian packages for distributing python programs? ,裏面提到了 stdebstdeb 可以透過 easy_install/pip 來安裝,很幸運的是我的 Ubuntu 12.04 剛好有打包這個進去,所以只要用 apt-get 安裝 python-stdeb 就可以了。
接著,就可以參考 stdeb 文件,用 python setup.py --command-packages=stdeb.command bdist_deb 建立 debian package 了,打包好的 debian package 可以在當前目錄的 deb_dist 下找到。

沒有留言: