Created on 2013-03-19 17:29 by jason.coombs, last changed 2013-04-14 22:05 by piotr.dobrogost.
|msg184645 - (view)||Author: Jason R. Coombs (jason.coombs) *||Date: 2013-03-19 17:29|
On Windows, pyvenv.py is installed to PythonNN\Tools\Scripts, which I would generally recommend not be added to the system's or user's PATH. It would be nice if there were a Windows-friendly launcher that's available similar to what's available on Unix. For example, on Unix, a script is created in /usr/bin/pyvenv-3.3 for Python 3.3 environments. Perhaps Windows installs should include (alongside Python.exe) a pyvenv.exe that invokes venv for the Python environment in which it's executed. Then, if that Python.exe appears in the path, then invoking 'pyvenv' would be invoked for that Python. That approach would better fit my expectations. Note, though, that one can always use 'py' to invoke venv as so: py -3 -m venv However, this mode of invocation is slightly clumsy and probably quite incongruent with the Unix style invocation (complicating a documentation author's "how to" for installing envs).
|msg184647 - (view)||Author: Michael Foord (michael.foord) *||Date: 2013-03-19 17:33|
PythonNN\Scripts is the "normal" place for Python command line tools to be installed to. Does the installer not put this on the PATH for windows?
|msg184689 - (view)||Author: Jason R. Coombs (jason.coombs) *||Date: 2013-03-19 22:01|
The installers don't put anything on PATH by default. Activestate installers and my custom installers do put PythonNN and PythonNN\Scripts on the path. It's true that PythonNN\Scripts is the place that third-party command-line tools are installed. I don't believe Python itself installs anything there. However, py.exe is installed in C:\Windows and python.exe is installed in PythonNN. So, to be consistent with the installation of py.exe, pyvenv should be installed in C:\Windows. That would not work well because pyvenv should be specific to a particular Python version. That's why I suggested the PythonNN directory, because it's part of the core Python installation, where python.exe is installed, and isn't a third-party script. That said, PythonNN\Scripts also seems like it might be a good location. It would necessitate adding that to the PATH, which is a reasonable thing to do. The only case where that wouldn't work is if someone wanted to have pyvenv in the path but not the third-party scripts installed to PythonNN\Scripts.
|msg186959 - (view)||Author: Piotr Dobrogost (piotr.dobrogost)||Date: 2013-04-14 22:05|
I've just stumbled upon this issue after asking "Where is pyvenv script in Python 3 on Windows installed?" question at http://stackoverflow.com/q/15981111/95735 "Perhaps Windows installs should include (alongside Python.exe) a pyvenv.exe that invokes venv for the Python environment in which it's executed." I think it's the right thing to do.
messages: + msg186959
|2013-03-19 22:01:06||jason.coombs||set||messages: + msg184689|
messages: + msg184647