Skip to content

Instantly share code, notes, and snippets.

@carljm
Created March 15, 2011 21:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save carljm/871571 to your computer and use it in GitHub Desktop.
Save carljm/871571 to your computer and use it in GitHub Desktop.
patch from https://bugs.launchpad.net/virtualenv/+bug/550545 to add activate.csh to virtualenv
--- a/virtualenv.py
+++ b/virtualenv.py
@@ -867,5 +867,5 @@
files['activate'] = ACTIVATE_SH
else:
- files = {'activate': ACTIVATE_SH}
+ files = {'activate': ACTIVATE_SH, 'activate.csh': ACTIVATE_CSH}
files['activate_this.py'] = ACTIVATE_THIS
for name, content in files.items():
@@ -1426,4 +1426,29 @@
""".decode("base64").decode("zlib")
+##file activate.csh
+ACTIVATE_CSH = """\
+# This file must be used with "source bin/activate" *from csh*
+# you cannot run it directly
+
+alias deactivate-nondestructive 'setenv PATH "$_OLD_VIRTUAL_PATH"; unsetenv _OLD_VIRTUAL_PATH; set prompt = "$_OLD_VIRTUAL_PROMPT"; unsetenv _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV'
+alias deactivate 'deactivate-nondestructive; unalias deactivate-nondestructive; unalias deactivate'
+if ($?_OLD_VIRTUAL_PATH) then
+ if ("$_OLD_VIRTUAL_PATH" != "") then
+ deactivate-nondestructive
+ endif
+endif
+
+setenv VIRTUAL_ENV "__VIRTUAL_ENV__"
+
+setenv _OLD_VIRTUAL_PATH "$PATH"
+setenv PATH "$VIRTUAL_ENV/bin:$PATH"
+
+if (! $?prompt) then
+ set prompt = "% "
+endif
+setenv _OLD_VIRTUAL_PROMPT "$prompt"
+set prompt = "($VIRTUAL_ENV:t)$prompt"
+"""
+
##file activate.bat
ACTIVATE_BAT = """
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment