Friday, November 27, 2009

pythons distutils install race condition

Pythons distutils has a race condition where it starts to copy files into the python path whilst installing.

This is a race condition, since python programs can be importing the package whilst the package is being installed.

It would be good for distutils to install things in an atomic manner. Where things can be installed, or not installed. Like, on unix by moving the files in from a temporary directory. This would also help reduce breakages. Since if a package breaks half way installing a package then the broken version will not over write the existing version.

It's not a very serious problem, since most people don't install things on live important systems. Also some packaging tools fix the issues with the source installs.

No comments: