Django - Fabric& collecstatic - 无法打开文件'manage.py'

时间:2011-10-24 15:12:02

标签: python django production-environment fabric

我开始将Fabric用于Django生产服务器 这是我的fabfile.py

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

这是输出

  

$ fab srefresh
  [me@myserver.net]执行任务'srefresh'
  [me@myserver.net]运行:python manage.py collectstatic
  [me@myserver.net] out:python:无法打开文件'manage.py':[Errno 2]没有这样的文件或目录

我做错了什么? (不确定我是否正在使用with上下文管理器)

2 个答案:

答案 0 :(得分:1)

实际上,它很清楚地写在docs中。 fabric.context_managers.path改变PATH变量。 fabric.context_managers.cd可用于更改远程目录。所以在你的情况下:

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

应该这样做。

答案 1 :(得分:0)

你试过

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

另请检查manage.py

的权限