abg/dbsake

dbsake/cli/cmd* excluded from build

Closed this issue · 2 comments

OS: Linux with python-2.7.11, setuptools-1:18

Steps to reproduce:

  1. git clone
  2. python setup.py build
  3. find build -iname cmd

Workaround:
sed -i -e 's|templates/||' MANIFEST.in

abg commented

Trying to reproduce this.

$ git rev-parse --short HEAD
fda25e3
$ python2.7 -V
Python 2.7.11
$ python2.7 -c 'import setuptools; print(setuptools.__version__)'
18.7.1
$ rm -fr build
$ python2.7 setup.py build
...
$ find build -iname cmd
build/lib/dbsake/cli/cmd

The results seem to be a complete distribution that I can run fine.

abg commented

I was able to reproduce this by (1) wiping my *.egg-info cache and (2) running this in a bare virtualenv.

dbsake's setup.py uses a custom find_packages function based on pkgutil.walk_packages, presumably to avoid depending on setuptools (although I don't recall the exact history here). This function fails if a runtime dependency is missing at build time (e.g. python-click). This doesn't affect setuptools.find_packages() implementation.

It's probably best for dbsake to just require setuptools at build time. The entry_points bits for the front-end script won't work without it, which makes an install without setuptools a little silly anyway.