2011-10-24 32 views
1

我开始为D​​jango生产服务器使用Fabric。
这是我fabfile.pyDjango - Fabric&collecstatic - 无法打开文件'manage.py'

from fabric.api import * 
env.hosts = ['[email protected]'] 
def srefresh(): 
    with path('~me/myproject'): 
    run('python manage.py collectstatic') 
    sudo('apachectl restart') 

这里是输出

$晶圆厂摘要刷新
[[email protected]]执行任务 '摘要刷新'
[[email protected]]运行:python manage.py collectstatic
[[email protected]] out:python:无法打开文件'manage.py':[Errno 2]没有这样的文件或目录

我在做什么错?
(不知道我使用的是with上下文管理好)

回答

1

事实上的权限,这是相当清楚的写在docsfabric.context_managers.path改变PATH变量。 fabric.context_managers.cd可用于更改远程目录。所以在你的情况下:

def srefresh(): 
    with cd('~me/myproject'): 
     run('python manage.py collectstatic') 

应该做的伎俩。

+0

对,它有点混乱 –

0

有你

run('python ./manage.py collectstatic') 

还试图检查manage.py

+0

同样的事情,'python manage.py collectstatic'在好的目录(即'〜me/myproject')上手工运行时工作正常 –