[Distutils] ANN: buildutils-0.1.0 - Distutils extensions for developing Python libraries and applications.
Ryan Tomayko
rtomayko at gmail.com
Fri Jul 8 17:16:25 CEST 2005
On Jul 7, 2005, at 1:12 PM, Phillip J. Eby wrote:
> Interestingly, there's some overlap between the commands as they
> exist now. For example, your 'use' command could use the
> setuptools "develop" command to install and uninstall development
> eggs safely on all platforms (note that Windows doesn't do
> symlinks) and your code is making a false assumption that .egg-info
> will always be in the package checkout's root. It might be better
> to have your 'use' command just be a wrapper for running the
> 'develop' command in each of the named projects, so that those
> details will work right. (i.e., AFAICT 'use' is short for cd-ing
> to each project and doing "pbu develop".)
[warning: epiphany occurs half way through this message, read
entirely before responding]
Ah yes. I just sat down to take a look at the use command and I
remember now the problem I was trying to solve. The develop command
seems to rely on modifying the easy_install.pth in the site-packages
directory and works much like Bob Ippolito's description of
developing with pth files [1].
While this isn't a huge problem for me right now, there are times
where I'd prefer to either not modify sys.path for all other python
applications or will not have permissions to modify site-packages.
Ideally, I'd like to only modify the directory of the project I'm
working on and possibly the directory of the project I'm using.
Now that I've said all that, it occurs to me that this might all be
possible now.
Ah yes, it is. Forgive me, I'm not trying hard enough.
Let's say I have three projects:
devel/kid
devel/buildutils
devel/pudge
If I want to use the development version of kid from buildutils, I
would do:
cd devel/kid
python setup.py develop --install-dir=../buildutils --script-
dir=../buildutils -m
And now as long as I start python within the devel/buildutils
directory, everything seems to work just as I would have hoped.
Very nice, Phillip.
I may still leave the use command in tact and have it perform these
commands on multiple projects the way it does today. For example, if
I wanted to use the development versions of kid and pudge from
buildutils:
pbu use --projects=kid,pudge
And to no longer use those projects:
pbu use --stop --projects=kid,pudge
Rock on.
Ryan Tomayko
rtomayko at gmail.com
http://naeblis.cx/rtomayko/
[1] http://bob.pythonmac.org/archives/2005/02/06/using-pth-files-for-
python-development/
More information about the Distutils-SIG
mailing list