At 11:11 AM 1/26/2007 -0500, Kurt Schwehr wrote:
Sorry if this kind of thing has already been discussed. I am packaging quadtree for Mac OSX/fink (deb based package management) and am getting a failed build if the package is alread installed and I am trying to do a rebuild. Can someone point me at what needs to be changed? Is this because quadtree is a namespace?
Yes, and it shouldn't be, since its __init__.py contains actual code, and is missing a namespace declaration. (The whole point of a namespace package is that the package itself shouldn't contain any code. After all, in a --single-version-externally-managed install, the __init__.py will not even be *there*.)
So, this is a packaging error on the part of the quadtree developer(s). Most likely, quadtree is not really a namespace package and should not be declared as one, because the only reason to do that is if there are modules or subpackages under that package that are distributed *separately*. My guess is that the author saw a namespace declaration in some other project's setup.py and thought it was required boilerplate instead of an option.
20070118/externals/Quadtree/quadtree/__init__.py", line 2, in <module> from _tree import Quadtree ImportError: No module named _tree
from _tree import Quadtree
And, here is the setup.py file:
from setuptools import setup, Extension _tree = Extension('quadtree._tree', sources=['quadtree/_treemodule.c', 'shapelib/shptree.c', 'shapelib/shpopen.c'], include_dirs=['shapelib'] ) setup(name = 'Quadtree', version = '0.1.1', description = 'Quadtree spatial index for Python GIS', license = 'BSD', keywords = 'spatial index', author = 'Sean Gillies', author_email = ' mailto:firstname.lastname@example.org@frii.com', maintainer = 'Sean Gillies', maintainer_email = 'mailto:email@example.com@frii.com', url = ' http://icon.stoa.org/trac/pleiades/wiki/QuadTreehttp://icon.stoa.org/trac/pleiades/wiki/QuadTree', packages = ['quadtree'], namespace_packages = ['quadtree'], ext_modules = [_tree], classifiers = [ 'Development Status :: 3 - Alpha', 'Intended Audience :: Developers', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Programming Language :: C', 'Programming Language :: Python', 'Topic :: Scientific/Engineering :: GIS', 'Topic :: Database', ], )