当前位置: 首页 > 面试题库 >

我如何对Python软件包进行Debian打包?

龚盛
2023-03-14
问题内容

我需要编写或查找脚本,以使用packagepython- support从Python软件包创建Debian软件包。Python软件包将是不带C扩展的纯Python。

用于测试目的的Python软件包将只是一个包含空__init__.py文件和单个Python模块的目录package_test.py

包装脚本 必须 用于python-support为目标平台上可能的多次Python安装提供正确的字节码,例如,在Ubuntu
9.04
(Jaunty
Jackalope)上安装v2.5和v2.6 。

我在Google搜寻时发现的大多数建议只是不使用python-support或的讨厌的骇客的例子python-central

我花了几个小时研究这个问题,我能想到的最好的办法是从一个现有的开源项目中破解该脚本,但是我不知道我在做什么。

这里有没有人以合理的非hacky方式从Python软件包中制作出Debian软件包?

我开始认为,从不了解Debian打包知识python-support到获得有效的脚本,我将花费一个多星期的时间。其他人花了多长时间?


问题答案:

我将采用现有Debian软件包的来源,并用您的软件包替换其中的实际软件包。要查找依赖python-support的软件包列表,请执行

 apt-cache rdepends python-support

选择一个名为的软件包,Architecture: all使其成为纯Python软件包。浏览这份清单,我发现例如python-
flup可能是一个很好的起点。要获取此类软件包的来源,请执行

apt-get source <package>

要建造它,做

cd <packagesrc>
dpkg-buildpackage -rfakeroot

编辑时,只需要文件debian夹中的文件即可。用您自己的包名称替换所有对flup的引用。

一旦开始,它应该花一天的时间来完成。



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

  • 问题内容: 我一直在使用 buildroot 以便使用 uclibc 构建工具链。现在, buildroot 下载所有软件包,解压缩并构建所有软件包。 我想更改工具链的 uclibc 源,然后用新的源重新编译工具链,但我只是不明白如何用漂亮的方式完成它。 完成构建后,可以在“ < buildroot-src> / output / build ” 中找到所有提取的源。但是更改它们不会给我任何帮助,

  • 高级包管理工具 aptitude 是目前首选的字符界面的 APT 前端程序。 它会记住哪些包是你安装的,哪些是为了满足依赖关系而安装的;在不被已安装包需要的情况下aptitude 会自动卸载后者。它内建一套高级的包过滤器,但是比较难上手。 synaptic 是目前首选的基于 GTK 的图形化 APT 前端程序。它的包过滤器比 aptitude 的好用多了。它包含了对 Debian Package

  • 问题内容: 由于某些原因,当我运行“ brew link python”时,它不是符号链接。我收到以下错误,并且按提示操作去做,但是没有用。我已经尝试执行它告诉我的操作,但是也许我没有正确设置Formula_name。另外,当我执行“哪个python”时,它并不指向Homebrew python,我也需要帮助修复它。 问题答案: 你尝试了吗?

  • 问题内容: 我一直在为工作中的简单任务制作Python脚本,从来没有真正打扰过将它们打包供其他人使用。现在,我被分配为REST API制作Python包装器。我对如何开始一无所知,我需要帮助。 我有的: (只想尽可能地具体一点)我已经准备好virtualenv,它也位于github中,还存在用于python的.gitignore文件,以及用于与REST API交互的请求库。而已。 这是当前目录树

  • 问题内容: 从pypi下载python软件包及其依赖项以便在另一台计算机上脱机安装的最佳方法是什么?有什么简单的方法可以通过pip或easy_install来做到这一点?我正在尝试在未连接到Internet的FreeBSD盒上安装请求库。 问题答案: 如果该软件包位于PYPI上,则将其及其依赖项下载到某个本地目录。例如 某些软件包可能必须手工存档到外观相似的tarball中。当我想要更新(不稳定)