[Distutils] setup.py develop un-egg-spected result

Tres Seaver tseaver at palladion.com
Tue Mar 25 17:56:03 CET 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Phillip J. Eby wrote:
> At 12:07 PM 3/25/2008 -0400, Oliver Schoenborn wrote:
>> Quoting "Phillip J. Eby" <pje at telecommunity.com>:
>>
>>> At 10:39 AM 3/25/2008 -0400, Oliver Schoenborn wrote:
>>>> I have a problem with "setup.py develop" installation.
>>>>
>>>> ...
>>> This use of package_dir is not compatible with 'develop'.  For
>>> 'develop' to work on a project, you may not have any non-empty keys in
>>> package_dir.  If you want to use develop with this project, you will
>>> have to alter your directory layout so that 'core' is under 'extern',
>>> or else move the 'extern' modules out of 'extern' and up to the
>>> top-level directory, and update (or get rid of) package_dir accordingly.
>> Thanks for your quick reply. That's a pitty, would it be difficult to
>> patch? E.g. from a list of all 'values' in the package_dir then add a
>> line to easy-install.pth:
>>
>> # pseudo code:
>> ...
>> dirs = [os.path.join(os.getcwd(), dd) for key, dd
>>         in package_dir.iteritems() if key.find('.') < 0]
>> for dd in dirs:
>>     easyinst_pth.write(dd+'\n')
>> ...
> 
> That won't work correctly with respect to linking the package's 
> .egg-info to its import path, and of course, uninstall still has to 
> be handled.  Implementing uninstall would be further complicated by 
> the possibility of package_dir having been changed between the 
> install and subsequent uninstall, or any intervening re-install.
> 
> In short, it'd be a serious pain, and I haven't see any use cases for 
> doing anything with package_dir besides defining a root location for 
> packages (e.g. a src/ or lib/ directory).  I have no idea why the 
> ability to do that was added to distutils in the first place, and if 
> I ever did a full distutils replacement, it'd likely be one of the 
> very first things lined up against the wall and shot.  ;-)

/me hums G & S chorus[1] in the background:

  He's got 'em on the list -- he's got 'em on the list;
  And they'll none of 'em be missed -- they'll none of 'em be missed.


[1] http://www.cs.rice.edu/~ssiyer/minstrels/poems/135.html



Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH6S6j+gerLs4ltQ4RAhZLAKCDSxEmKnG4a0jZxH5ru0XXWqX96wCeKYYR
AYIMBgAVfvME63eRIPmeBKg=
=Ivo1
-----END PGP SIGNATURE-----



More information about the Distutils-SIG mailing list