I have a project named
myapp written in python, and I'm creating it using setuptools, with the corresponding setup file at
myapp/setup.py, where all the dependencies of my project are specified. Then, I'm creating a debian package
myapp.deb that contains the whole python project, and its only dependency is
python-setuptools. The problem is that I'm not sure who should handle my project's dependencies. For now, it goes like this
- when I run
apt-get install myapp, it copies the python code to
/var/lib/myappand installs the
- the postinst script of the
python /var/lib/myapp/setup.py install, installing
myappwith setuptools, which fetches all the dependencies that I specified in the
So, my questions are:
- Is this fine, to let python's setuptools handle the dependencies?
- Should I remove the dependencies from
myapp/setup.pyand add the corresponding debian packages as dependencies of the outter
myapp.debpackage? In this case, setuptools would install
myapp, but not fetch any dependency, which should already have been retrieved with
apt-get install myapp. But in that case, I need those dependencies also to run the unit tests of myapp when I call
python myapp/setup.py test. How do I handle the test dependencies?
- Should I completely rely on apt, remove
setup.py, and not use setuptools at all? In that case, how would I run my unit tests, with the proper dependencies set?