Re: [Distutils] Potential issue with multiple easy_install instances and single easy_install.pth
At 07:14 PM 10/18/2008 -0700, Garrett Cooper (garrcoop) wrote:
Hi Python folks, As part of a build system I work with, my group installs multiple Python packages via source using easy_install. One such issue I've seen before in the past is that when using multiple easy_install instances (via multiple make jobs), the last instance that opened up easy_install.pth records its changes; the file should contain entries for all packages installed by easy_install.
easy_install doesn't support simultaneous parallel installations to the same target directory, and there are no plans at the moment to add that support. Note, however, that if you use the -m (--multi-version) option, then easy_install will not save the .pth file unless there was already a default version of the target package present. However, if you begin by deleting the .pth file altogether, then using -m will avoid creating or updating it. Of course, the downside of -m is that you will not be able to access the installed packages except via setuptools-built scripts or by using explicit require() calls.
-----Original Message----- From: Phillip J. Eby [mailto:pje@telecommunity.com] Sent: Sunday, October 19, 2008 4:31 PM To: Garrett Cooper (garrcoop); distutils-sig@python.org Subject: Re: [Distutils] Potential issue with multiple easy_install instances and single easy_install.pth
At 07:14 PM 10/18/2008 -0700, Garrett Cooper (garrcoop) wrote:
Hi Python folks, As part of a build system I work with, my group installs multiple Python packages via source using easy_install. One such issue I've seen before in the past is that when using multiple easy_install instances (via multiple make jobs), the last instance that opened up easy_install.pth records its changes; the file should contain entries for all packages installed by easy_install.
easy_install doesn't support simultaneous parallel installations to the same target directory, and there are no plans at the moment to add that support.
Note, however, that if you use the -m (--multi-version) option, then easy_install will not save the .pth file unless there was already a default version of the target package present. However, if you begin by deleting the .pth file altogether, then using -m will avoid creating or updating it.
Of course, the downside of -m is that you will not be able to access the installed packages except via setuptools-built scripts or by using explicit require() calls.
Phillip, Do you or anyone else know where would I need to look into the distutils source to implement this enhancement? I forsee using Python's version of flock, with possibly the use of a simple semaphore like-system. Thanks for your quick feedback, -Garrett
participants (2)
-
Garrett Cooper (garrcoop)
-
Phillip J. Eby