【问题标题】:Django - Fabric & collecstatic - can't open file 'manage.py'Django - Fabric & collectstatic - 无法打开文件'manage.py'
【发布时间】:2011-10-24 15:12:02
【问题描述】:

我开始将 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 刷新
[me@myserver.net] 执行任务'srefresh'
[me@myserver.net] 运行:python manage.py collectstatic
[me@myserver.net] 输出:python:无法打开文件'manage.py':[Errno 2] 没有这样的文件或目录

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

【问题讨论】:

    标签: python django production-environment fabric


    【解决方案1】:

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

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

    应该可以解决问题。

    【讨论】:

    • 对,有点混乱
    【解决方案2】:

    你试过了吗

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

    还要检查manage.py的权限

    【讨论】:

    • 同样,python manage.py collectstatic 在良好目录(即~me/myproject)上手动运行时工作正常
    猜你喜欢
    • 2020-02-10
    • 1970-01-01
    • 2020-12-05
    • 2016-12-23
    • 2018-02-19
    • 1970-01-01
    • 2019-12-16
    • 2021-05-23
    • 1970-01-01
    相关资源
    最近更新 更多