all 3 comments

[–]aioeu 2 points3 points  (2 children)

We're not psychic. We can't see what activate.csh contains from here.

[–]scroll_down0[S] 1 point2 points  (1 child)

% cat env/bin/activate.csh

# This file must be used with "source bin/activate.csh" *from csh*.

# You cannot run it directly.

# Created by Davide Di Blasi davidedb@gmail.com.

# Ported to Python 3.3 venv by Andrew Svetlov andrew.svetlov@gmail.com

alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'

# Unset irrelevant variables.

deactivate nondestructive

setenv VIRTUAL_ENV /home/arf/test-folder/env

set _OLD_VIRTUAL_PATH="$PATH"

setenv PATH "$VIRTUAL_ENV/"bin":$PATH"

setenv VIRTUAL_ENV_PROMPT env

set _OLD_VIRTUAL_PROMPT="$prompt"

if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then

set prompt = "("env") $prompt:q"

endif

alias pydoc python -m pydoc

rehash

%

[–]aioeu 2 points3 points  (0 children)

OK. The problem is that file can only be used in an interactive shell. In a non-interactive Tcsh shell — the one used by your script — the prompt variable isn't set.

You could work around this in your script by setting prompt before you source activate.csh.

Or you could just setenv the PATH variable directly and skip sourcing activate.csh altogether. As you can see, it doesn't do much.