Python 项目中的 Debian 依赖项与 Python 依赖项

Python 项目中的 Debian 依赖项与 Python 依赖项

我有一个名为 的项目myapp,用 Python 编写,我正在使用 setuptools 创建它,相应的安装文件位于myapp/setup.py,其中指定了我的项目的所有依赖项。然后,我正在创建一个myapp.deb包含整个 Python 项目的 Debian 包,它的唯一依赖项是python-setuptools。问题是我不确定谁应该处理我的项目的依赖项。目前,它是这样的

  1. 当我运行时apt-get install myapp,它会将 python 代码复制到/var/lib/myapp并安装python-setuptools依赖项。
  2. 该包的 postinst 脚本myapp.deb调用python /var/lib/myapp/setup.py installmyapp使用 setuptools 进行安装,它会获取我在文件中指定的所有依赖项setup.py

所以,我的问题是:

  • 这样可以吗?让 python 的 setuptools 来处理依赖项?
  • 我是否应该从中删除依赖项,myapp/setup.py并将相应的 debian 包添加为外部myapp.deb包的依赖项?在这种情况下,setuptools 将安装myapp,但不会获取任何依赖项,这些依赖项应该已经通过 检索到了apt-get install myapp。但在这种情况下,当我调用 时,我还需要这些依赖项来运行 myapp 的单元测试python myapp/setup.py test。我该如何处理测试依赖项?
  • 我是否应该完全依赖 apt、removesetup.py而根本不使用 setuptools? 在这种情况下,如何设置正确的依赖项并运行单元测试?

相关内容