On 02/07/2013 17:08, PJ Eby wrote:
If you are targeting at least Python 2.5, see: http://docs.python.org/2/library/pkgutil.html#pkgutil.walk_packages

We're targeting Python 2.7.

Trouble is that pkgutil.walk_packages needs a path to search from. Distribution.location is always your site-packages directory once a Distribution is installed, so walking that just gives ALL installed packages. If your Distribution contains some sort of main package that contains everything in it, you can use that package's .__path__, but then you'd need to discover what that package is.

Distributions could also contain more than one package next to each other, and top-level modules. (The __path__ of a top-level module is also simply the site-packages directory.)

There is a metadata file top_level.txt which one could use to get the names of top-level packages/modules in the Distribution. This can however contain a namespace package too - and you don't want all the packages inside the namespace package - just the bits inside the chosen Distribution...

Regards
- Iwan
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to