当前位置: 首页 > 知识库问答 >
问题:

创建一个debian包,将python脚本安装到Ubuntu中的/usr/local/bin

朱通
2023-03-14

我尝试创建python应用程序的debian包,如下所示:

  1. 写setup.py
  2. 通过stddeb生成一个debian文件夹
  3. 运行dpkg-build包-b-rfakeroot-uc来构建debian包

设置。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安装程序时安装scripts=/usr/local/bin。py安装,但我必须对python应用程序进行debianize,而且似乎无法指定安装脚本前缀。

提前感谢!

共有1个答案

卓学智
2023-03-14

如果您只想在/usr/local/bin/中安装文件,请删除安装程序。py,因为它不是真正需要的。如果您在软件包中使用dh(您可以通过检查debian/rules文件中是否调用它来查看是否正在使用它。如果您没有使用它,您应该:-),那么您只需向dh\u install(请参阅其手册页)提供install文件即可。这个文件的语法非常简单,您必须指定要安装的内容和位置。可以通过在包的根目录中发出以下命令来执行此操作:

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

现在,由于您想要在/usr/local/下安装脚本,并且这违反了Debian策略,其中一个dh_*工具将失败。这个工具就是dh_usrlocal。解决方法非常简单。我们只需要告诉debian/规则我们不想运行它,我们可以通过覆盖它的行为来做到这一点。这就是最终的debian/规则的外观:

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

%:
    dh $@ 

override_dh_usrlocal:

就这样。运行dpkg buildpackage,您应该在中拥有新的包/

 类似资料:
  • 本文向大家介绍Docker 安装Debian / Ubuntu软件包,包括了Docker 安装Debian / Ubuntu软件包的使用技巧和注意事项,需要的朋友参考一下 示例 在单个运行命令上运行安装以合并更新和安装。如果以后添加更多软件包,它将再次运行更新并安装所有需要的软件包。如果更新是单独运行的,它将被缓存,并且软件包安装可能会失败。脚本安装需要将前端设置为非交互式,并传递-y来安装。在安

  • 问题内容: 如何为自己的脚本制作setup.py文件?我必须将脚本全局化。(将其添加到/ usr / bin),因此我可以从控制台运行它,只需键入:scriptName参数。操作系统:Linux。 编辑: 现在我的脚本是可安装的,但是我如何使其全局?这样我就可以从控制台运行它,而只需输入名称。 问题答案: 编辑:此答案仅涉及将可执行脚本安装到中。我假设您具有文件工作原理的基本知识。 创建脚本并将其

  • 问题内容: 我使用的是Mac osx 10.10,如PyAudio主页所述,我使用 安装portaudio似乎很成功,我可以在/ usr / local / include和/ usr / local / lib中找到头文件和lib,但是当我尝试安装pyaudio时,它给了我一个错误 实际上它在/ usr / local / include中,为什么找不到文件?类似问题的某些答案对我不起作用(例如

  • 我是初学者,在ubuntu 11.10上安装pycuda2011.2.2,但无法完成它。库达是4.0。 我已经安装了库: $ sudo apt-get install build-essential python-dev python-setup tools libboost-python-dev libboost-thread-dev-y 像这样调用configure.py: $./config

  • 学习路径: 写一个脚本 给 shell 执行脚本的权限 将脚本放到 shell 可以找到的地方 写一个脚本 shell 脚本是一个包含 ASCII 文本的文件。使用 文本编辑器 来创建脚本。文本编辑器用于读写 ASCII 文本文件。Linux 系统中有许多文本编辑器,包括支持命令行的,和支持 GUI 环境的。以下列出一些: 名称 描述 实现 vi,vim 编辑器的祖先。比较难用,但是强大、轻量并且

  • 我的Linux系统中有两个版本的Python/usr/bin/python2.6/usr/local/bin/python2.7 我想在python2.7下安装pip,但它会自动安装在/usr/lib/python2.6/site-packages下,而不是/usr/local/lib/python2.7/site-packages下。 我认为Linux中的两个python版本存在一些问题。如何在