At 10:24 AM 4/13/2007 -0700, Rob wrote: >Hi, > >I'm trying to determine which packages are "system" packages as >opposed to development or regular packages for yolk[1]. > >An example of what I mean would be wsgiref which comes included with >Python 2.5. > >The closest thing I can find that would help in a pkg_resources >Distribution object is the precedence attribute, but system and >development seem to be the same and the precedence would only help if >there were more than one in the environment. > >If I use get_python_lib from distutils.sysconfig and remove the >trailing "site-packages" from the reult
You mean 'get_python_lib(standard_lib=1)'? > and check a distribution'slocation attribute to see if its installed > there, will it be reliable >or might system packages be in other locations? System packages are just develop eggs installed in "system" locations. System locations may be Python-defined or OS-defined. For example, some distros have non-standard directory layouts, such that there is both a "/usr/lib/python2.x/site-packages" and a "/usr/local/lib/python2.x/site-packages", and *either* could contain system packages. There is a trick you could use to identify "develop" distributions, though... if there is a "SOURCES.txt" metadata file associated with an egg, you can look for a setup.py in a parent directory whose directory layout corresponds to that described by the contents of SOURCES.txt. This could *potentially* produce a false positive, though, if the package in question puts all its modules in the project root and doesn't have any other files besides setup.py listed in the project root. (The long-term plan for 0.7 is that packages that are actually "installed" will have some kind of installation manifest ala PEP 262.) By the way, under Python 2.5, packages installed by the distutils include an .egg-info *file*, so that is a giveaway that a package was installed using distutils (and maybe a system packaging tool), and is definitely *not* a "develop" package. _______________________________________________ Distutils-SIG maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/distutils-sig