无法使用Fabric在远程Virtualenv中使用pip安装软件包

dud*_*ein 2 deployment virtualenv fabric

我使用fabric来使用virtualenv部署应用程序.我上周使用的是面料1.4并升级到1.5.1.我的脚本停止了工作.

它无法安装要求.它似乎没有激活virtualenv.在我的代码中,我有:

with cd('%(path)s' % env):
        with prefix('source bin/activate'):
            run('pip install -U distribute')
Run Code Online (Sandbox Code Playgroud)

我收到了一个权限被拒绝的错误: error: could not delete '/usr/local/lib/python2.7/dist-packages/pkg_resources.py': Permission denied

正在执行的命令是:

Executed: /bin/bash -l -c "cd /var/www/myproject && source bin/activate && export PATH=\"\\$PATH:\\"/var/www/myproject\\" \" && pip install -U distribute"
Run Code Online (Sandbox Code Playgroud)

如果我ssh到远程机器并运行cd /var/www/myproject && source bin/activate && pip install -U distribute,它的工作正常.

为什么我的面料脚本不起作用?

提前致谢

Jas*_*sch 6

而不是串行方法..

source bin/activate
pip install -U distribute
Run Code Online (Sandbox Code Playgroud)

..直接使用virtualenv的pip可执行文件:

myenv/bin/pip install -U distribute
Run Code Online (Sandbox Code Playgroud)