[Python-Dev] Proposal for virtualenv functionality in Python

Gregory P. Smith greg at krypto.org
Fri Feb 19 22:30:39 CET 2010


On Fri, Feb 19, 2010 at 4:18 PM, P.J. Eby <pje at telecommunity.com> wrote:
> At 01:49 PM 2/19/2010 -0500, Ian Bicking wrote:
>>
>> I'm not sure how this should best work on Windows (without symlinks, and
>> where things generally work differently), but I would hope if this idea is
>> more visible that someone more opinionated than I would propose the
>> appropriate analog on Windows.
>
> You'd probably have to just copy pythonv.exe to an appropriate directory,
> and have it use the configuration file to find the "real" prefix.  At least,
> that'd be a relatively obvious way to do it, and it would have the advantage
> of being symmetrical across platforms: just copy or symlink pythonv, and
> make sure the real prefix is in your config file.
>
> (Windows does have "shortcuts" but I don't think that there's any way for a
> linked program to know *which* shortcut it was launched from.)

Some recent discussion pointed out that vista and win7 ntfs actually
supports symlinks.  the same question about determining where it was
launched from may still hold there? (and we need this to work on xp).

How often do windows users need something like virtualenv?  (Asking
for experience from windows users of all forms here).  I personally
can't imagine anyone that would ever use a system generic python
install from a .msi unless they're just learning python.  I would hope
people would already use py2exe or similar and include an entire
CPython VM with their app with their own installer but as I really
have nothing to do with windows these days I'm sure I'm wrong.

What about using virtualenv with ironpython and jython?  does it make
any sense in that context?  how do we make it not impossible for them
to support?

despite all the questions, I'm +1 on going ahead with a PEP and sprint
discussions to figure out how to get it in for CPython 3.2 and 2.7.

-gps


More information about the Python-Dev mailing list