使用fabric时找不到workon命令

Tre*_*ewq 3 python bash fabric

我的面料文件:

def deploy():
   code_path = 'mysite/public_html/mysite'
   with cd(code_path):
      with prefix("workon mysite"):
         run('git pull')
         run('supervisorctl -c ~/supervisord.conf restart ' + env.host_string)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Aborting.
[myserv] out: /bin/bash: workon: command not found
Run Code Online (Sandbox Code Playgroud)

显然,当我手动执行(没有结构)时,workon命令有效.我怀疑/usr/local/bin/virtualenvwrapper.sh是不是来源(通常是通过.bash_profile运行).

我需要做什么才能让workon命令工作?

kon*_*box 7

尝试修改前缀:

  with prefix(". /usr/local/bin/virtualenvwrapper.sh; workon mysite"):
Run Code Online (Sandbox Code Playgroud)