[Python-Dev] Proposal for virtualenv functionality in Python

Christian Heimes lists at cheimes.de
Sat Feb 20 16:50:56 CET 2010


Glenn Linderman wrote:
> Windows also has hard-links for files.
> 
> A lot of Windows tools are completely ignorant of both of those linking 
> concepts... resulting in disks that look to be over capacity when they 
> are not, for example.

Here comes my nit picking mode again. ;)

First of all the links are not a feature of the operating system but
rather a feature of the file system (version). The fact is valid for
Unix as well but most Unix file systems support hard- and soft links
anyway. To my best knowledge links are only supported on NTFS. FAT
doesn't support links and IIRC it's not possible to create a hard link
on a remote file system.

NTFS supports POSIX style hard links of files that are limited to one
file system. It's not possible to create a hard link that points to
another file system. This constrain also applies to Unix. Since Windows
2000 NTFS has junction points that work similar to symbolic link on
directories within a local file system. Junction points should be
avoided because the Windows explorer can't handle them properly until
Windows Vista.

Since Vista NTFS also has symbolic links that work across file systems
and can point to remote locations and non-existing files, too. However
only administrators are allowed to create symlinks on Vista. Vista has
no builtin tool to lift the restriction for ordinary users. You have to
grab some files from Windows Server 2003 for the task.

As long as Python supports XP we shouldn't use symlinks on Windows for
stuff like virtualenv. The python.exe on Windows is small (just a few
kb) since it is linked against the dll. Let's copy it and we are on the
safe side.

Christian


More information about the Python-Dev mailing list