我有一个名为 的项目myapp
,用 Python 编写,我正在使用 setuptools 创建它,相应的安装文件位于myapp/setup.py
,其中指定了我的项目的所有依赖项。然后,我正在创建一个myapp.deb
包含整个 Python 项目的 Debian 包,它的唯一依赖项是python-setuptools
。问题是我不确定谁应该处理我的项目的依赖项。目前,它是这样的
- 当我运行时
apt-get install myapp
,它会将 python 代码复制到/var/lib/myapp
并安装python-setuptools
依赖项。 - 该包的 postinst 脚本
myapp.deb
调用python /var/lib/myapp/setup.py install
,myapp
使用 setuptools 进行安装,它会获取我在文件中指定的所有依赖项setup.py
。
所以,我的问题是:
- 这样可以吗?让 python 的 setuptools 来处理依赖项?
- 我是否应该从中删除依赖项,
myapp/setup.py
并将相应的 debian 包添加为外部myapp.deb
包的依赖项?在这种情况下,setuptools 将安装myapp
,但不会获取任何依赖项,这些依赖项应该已经通过 检索到了apt-get install myapp
。但在这种情况下,当我调用 时,我还需要这些依赖项来运行 myapp 的单元测试python myapp/setup.py test
。我该如何处理测试依赖项? - 我是否应该完全依赖 apt、remove
setup.py
而根本不使用 setuptools? 在这种情况下,如何设置正确的依赖项并运行单元测试?