簡體   English   中英

創建一個debian包,將python腳本安裝到Ubuntu中的/ usr / local / bin

[英]Create a debian package to install python scripts to /usr/local/bin in Ubuntu

我嘗試創建一個python應用程序的debian包,如下所示:

  1. 寫一個setup.py
  2. 通過stddeb生成debian文件夾
  3. 運行dpkg-buildpackage -b -rfakeroot -uc來構建debian軟件包

setup.py就像

#!/usr/bin/env python

from distutils.core import setup

setup(name='foo',
      version='1.0.0',
      description='Foo example',
      author='Kuan-Kai Chiu',
      author_email='ntu.kchiu@gmail.com',
      scripts=['src/foo.py']
     )

如何將foo.py安裝到/ usr / local / bin而不是安裝到/ usr / bin 我知道在運行python setup.py install時有一個選項--install-scripts = / usr / local / bin ,但是我必須對我的python應用程序進行debianize,似乎無法指定install-scripts前綴。

提前致謝!

如果您只想在/usr/local/bin/安裝文件,請刪除setup.py因為它並不是真正需要的。 如果你在你的軟件包中使用dh (你可以看看你是否在你的debian/rules文件中檢查它。如果你沒有使用它,你應該:-),那么你只需要提供dh_install (請參閱其聯機幫助頁 ),其中包含install文件。 這個文件的語法非常簡單,你必須指定你想要安裝什么 ,以及在哪里 您可以通過在程序包的根目錄中發出以下命令來執行此操作:

$ echo "src/foo.py usr/local/bin" > debian/install

現在,由於您要在/usr/local/下安裝腳本,這違反了Debian策略,其中一個dh_*工具將失敗。 這個工具是dh_usrlocal 修復非常簡單。 我們只需告訴debian/rules我們不想運行它,我們可以通過覆蓋它的行為來實現。 這就是你的最終debian/rules應該如何:

#!/usr/bin/make -f
# -*- makefile -*-

%:
    dh $@ 

override_dh_usrlocal:

而已。 運行dpkg-buildpackage ,你應該在../全新的軟件包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM