【问题标题】:custom django management command not working when deployed as egg部署为 egg 时自定义 django 管理命令不起作用
【发布时间】:2012-12-28 09:12:33
【问题描述】:

我做了一个小djangoapp,只有一个管理命令,打包成一个egg。

如果我将 egg 解压到一个空白的 django project 中,将它添加到 installed_apps,管理命令就可以了。

然而,当它被easy_installed 到服务器上并且虽然它在路径中(我可以在命令行上导入Command 类),并且在INSTALLED_APPS 中,管理命令没有注册。它是从 egg 安装到站点包中的。

救命!

【问题讨论】:

    标签: django deployment path egg


    【解决方案1】:

    Django 专门查找子目录。请参阅core/management/init.py 中的find_commands 函数。所以它显然不适用于鸡蛋。简单的解决方法是不要将您的应用程序作为鸡蛋分发。反正现在有only few good reasons可以做。

    您可以告诉安装程序在 setup.py 文件中解压鸡蛋。阅读this SO answer了解详情。在这种情况下,管理命令应该可以工作。

    【讨论】:

    • 谢谢Alex,我应该提到鸡蛋是用easy_install安装的。我会更新我的问题。
    • @Oatman,您是否尝试将zip_safe=False 添加到 setup.py? peak.telecommunity.com/DevCenter/…
    【解决方案2】:

    即使你将它打包成一个 eg,你仍然需要它在你的 installed_apps 中以便 django 来获取它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 2018-01-21
      • 2016-03-28
      • 2013-05-04
      • 2012-08-01
      • 1970-01-01
      • 2013-12-30
      相关资源
      最近更新 更多