Команды mkvirtualenv
и workon
являются функциями оболочки, а не исполняемыми файлами в вашем PATH
[0].Чтобы сделать их доступными в оболочке, в которой вы их выполняете, вам нужно создать сценарий оболочки virtualenvwrapper.sh
, определяющий их.Возможно, вам лучше позвонить virtualenv /path/to/foo
напрямую.
Как активировать этот virtualenv - это еще одна история, и она будет зависеть от контекста, в котором вы хотите ее использовать. Если вы активируете его в подпроцессе, каждыйпроцесс, использующий его, должен быть запущен в или под этим потомком.
Hth, dtk
PS Кроме того, вы можете заглянуть в модуль subprocess
(илидаже сторонний sh
) для вызова внешних программ.Удачного кодирования:)
[0]: см. $ which workon
в терминале против $ which bash