Search code examples
pythonpackagingsetup.pypypi

debugging python setup.py for an open source library - bcfg2


When I install bcfg2 - http://bcfg2.org using

pip install git+git://git.mcs.anl.gov/bcfg2.git#egg=Bcfg2

or

pip install bcfg2

I am able to get bcfg2 working. Calling sudo bcfg2-admin init, shows me the set-up configuration steps/stdin prompt as expected.

When I introduce the -e option like this (in a new/clean virtualenv),

pip install -e git+git://git.mcs.anl.gov/bcfg2.git#egg=Bcfg2

And I attempt to call sudo bcfg2-admin init, I get an error message:-

calvin$ bcfg2-admin init
Traceback (most recent call last):
  File "/Users/calvin/.virtualenvs/bcfg2/bin/bcfg2-admin", line 7, in <module>
    execfile(__file__)
  File "/Users/calvin/.virtualenvs/bcfg2/src/bcfg2/src/sbin/bcfg2-admin", line 6, in <module>
    import Bcfg2.Server.Core
ImportError: No module named Bcfg2.Server.Core

This leads me to think that there is something wrong with the way setup.py is written for bcfg2. The file is located here - https://github.com/Bcfg2/bcfg2/blob/master/setup.py

Appreciate any input from pythonistas who are experts with python packaging and the configuration of setup.py.


Solution

  • The setup.py has a bug.

    Figured it out, fixed it and sent a pull request to bcfg2 maintainers.

    Reference - https://github.com/Bcfg2/bcfg2/pull/28