[Distutils] Packages listed in Easy-Install.pth
David Lyon
david.lyon at preisshare.net
Tue Mar 10 23:36:53 CET 2009
Thanks you PJ.... that is most helpful.
Seems to be the answer I was looking for. :-)
On Tue, 10 Mar 2009 02:17:07 -0400, "P.J. Eby" <pje at telecommunity.com>
wrote:
> At 11:19 PM 3/9/2009 -0400, David Lyon wrote:
>
>>What I want to do is use these in a list of installed packages. And then
>>later provide for deinstallation. I'm thinking of parsing this file to
> read
>>all the package names..
>>
>>My question is is there any way to do the same thing with setuptools?
>
> http://peak.telecommunity.com/DevCenter/PkgResources#workingset-objects
>
> You can simply iterate over pkg_resources.working_set to obtain
> Distribution objects for all eggs on sys.path -- that will give you
> all *activated* packages (i.e., ones listed in .pth files or
> otherwise explicitly on sys.path).
>
> If you want all *installed* packages (which may not be on sys.path,
> but are still physically present in a directory on sys.path), you
> want an Environment object instead:
>
> http://peak.telecommunity.com/DevCenter/PkgResources#environment-objects
>
> And to remove a package from the .pth file, you can use "easy_install
> -mxNd targetdir project==version" -- this will remove the named
> project from the easy-install.pth file in targetdir. (The -m takes
> it out, the -x means don't reinstall scripts, the -N means don't
> install dependencies, and the -d targetdir specifies where the .pth file
> is.)
More information about the Distutils-SIG
mailing list