我想在本地运行我的fabric脚本,脚本将登录到我的服务器,切换到deploy用户,激活项目的虚拟环境,然后进入项目目录并执行git pull。
def git_pull():
sudo('su deploy')
# here i need to switch to the virtualenv
run('git pull')
通常我使用virtualenvwrapper的workon命令,该命令会导入activate文件并执行postactivate文件以进入项目文件夹。在这种情况下,因为fabric是在shell内部运行,所以控制权会转移到fabric,所以我不能使用bash的source内置命令来执行"$source ~/.virtualenv/myvenv/bin/activate"。
有人能提供如何实现这一点的具体示例和说明吗?
workon
作为前缀呢? - Daniel C. Sobral