classification
Title: Add support for csh and fish in venv activation scripts
Type: Stage: committed/rejected
Components: Library (Lib) Versions: Python 3.4
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: asvetlov Nosy List: asvetlov, carljm, python-dev, vinay.sajip
Priority: normal Keywords: needs review, patch

Created on 2012-07-22 00:04 by asvetlov, last changed 2012-10-04 18:50 by asvetlov. This issue is now closed.

Files
File name Uploaded Description Edit
issue15417.diff asvetlov, 2012-07-22 00:06 review
Messages (6)
msg166091 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2012-07-22 00:06
I have added required shell files
msg166092 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2012-07-22 00:09
No idea if Doc/using/venv-create.inc should be updated to reflect support of new shells. 

virtualenv does nothing in own documentation btw.
msg166229 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2012-07-23 15:37
I have no objection in principle to supporting additional shells, but do have the following comments/questions:

1. Georg feels that this is a new feature he doesn't want to add to 3.3. IMO we have to respect his judgement as RM, no matter how trivial the change might seem. It's more about the discipline of the process than it is about any one specific change.

2. Where do we draw the line in terms of support for ("arbitrary") shells? Each activation script will potentially need maintenance into the future. It was originally envisaged that the stdlib code would add minimal support for activation scripts and that third-party tools would add support for additional shells and other value-adding features. The venv API design was intended to facilitate usage by third-party code.
msg166233 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2012-07-23 16:20
1. I agree with you about exclusion from 3.3.

2. Hmm. Good question. For now virtualenv has support for cmd.exe, csh, fish, bash/zsh and PowerShell.
I propose to add csh and fish to venv too. 
If later somebody will push request for adding yet another shell support we can consider it. Personally I doubt if we will see many requests for that.

3. Which standard way to append new activation script in third-party tool? I see th only way: inherit from `venv.EnvBuilder` and override `setup_scripts` method pointing to new directory with desired activators as `path` parameter for `self.install_scripts(...)`.
Also that third-party tool have to reimplement functionality of `create` and `main` functions with setting up ArgumentParser. Doesn't look like trivial steps if you wish to just add single activation script.
msg166236 - (view) Author: Vinay Sajip (vinay.sajip) * (Python committer) Date: 2012-07-23 16:37
> inherit from `venv.EnvBuilder` and override `setup_scripts` method
> pointing to new directory with desired activators as `path` parameter
> for `self.install_scripts(...)`.

Yes, that's it. A third party tool would potentially do more than just custom scripts, and would presumably have its own command line parameters and handling code, reflecting the features it offers.
msg171986 - (view) Author: Roundup Robot (python-dev) Date: 2012-10-04 18:49
New changeset c519b490f4e4 by Andrew Svetlov in branch 'default':
Issue #15417: Add support for csh and fish in venv activation scripts.
http://hg.python.org/cpython/rev/c519b490f4e4
History
Date User Action Args
2012-10-04 18:50:27asvetlovsetstatus: open -> closed
assignee: asvetlov
resolution: fixed
stage: committed/rejected
2012-10-04 18:49:09python-devsetnosy: + python-dev
messages: + msg171986
2012-07-23 16:37:12vinay.sajipsetmessages: + msg166236
2012-07-23 16:20:51asvetlovsetmessages: + msg166233
2012-07-23 15:37:01vinay.sajipsetmessages: + msg166229
versions: + Python 3.4, - Python 3.3
2012-07-22 00:14:22asvetlovsetnosy: + vinay.sajip, carljm
2012-07-22 00:09:27asvetlovsetmessages: + msg166092
2012-07-22 00:06:28asvetlovsetkeywords: + needs review, patch
files: + issue15417.diff
messages: + msg166091
2012-07-22 00:04:38asvetlovcreate