gpt4 book ai didi

python - 为 Python 项目设置 Deb 包 - 数据库 (sqlite3) 设置

转载 作者:行者123 更新时间:2023-11-28 19:23:45 25 4
gpt4 key购买 nike

我正在尝试从我正在处理的 python 项目中制作一个 .deb 包。该程序需要一个 .sqlite 文件,但需要以某种方式对其进行初始化(创建它并设置表、关联等)。虽然有很多关于 deb 包创建的文档,例如

- From Debian Wiki

- A python-specific tutorial

我找不到关于以下问题的好的建议:

  1. 将初始化的 .sqlite 文件合并到要复制(安装)的文件列表中还是在安装过程中包括 .sqlite 文件创建/设置更好?

  2. 如果第二个选项更可取,表创建脚本应该放在哪里?我想显而易见的假设是在规则文件中这样做(或不这样做?)。如果这个过程转到规则文件,我们是否应该使用 shell 脚本来完成(规则是一个 makefile)

  3. 上面的第二个链接建议使用 postinst 脚本(可以解决上述问题),但我在其他任何地方都没有看到这种做法?这是一种常见的做法吗?

  4. 检查目标机器依赖性的最佳方法是什么? (sqlite3、python3.2 - 控制文件的 build-depends 字段是否检查目标机器上是否存在依赖项,以便在缺少 sqlite3 或 python3.2 时中止包安装?

非常感谢

最佳答案

我认为您应该使用预生成的 SQLite 文件。这是最简单的解决方案,我看不出有任何缺点。

至于声明安装时(也称为运行时)依赖项,您需要将它们放在 debian/control 中, 在二进制包部分中,一个以 Package 开头的(example)。这样,如果不满足此类依赖关系,Debian 打包工具将拒绝安装该软件包(除非您友好地询问,例如使用 dpkg --force-depends --install <package name> )。

关于python - 为 Python 项目设置 Deb 包 - 数据库 (sqlite3) 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com