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@gmail.com http://naeblis.cx/rtomayko/ [1] http://bob.pythonmac.org/archives/2005/02/06/using-pth-files-for- python-development/