【问题标题】:How to run django-admin.py, when django is in an egg?当django在鸡蛋中时如何运行django-admin.py?
【发布时间】:2014-04-11 07:54:04
【问题描述】:

我继承了一个项目,该项目使用 buildout 进行部署并且运行良好。我在翻译 .po 文件中做了一些更改,但要编译成 .mo 文件,我需要运行

django-admin.py compilemessages

当我找到 django-admin.py 的唯一位置是在鸡蛋中时,我该怎么做?该项目未使用 virtualenv。

【问题讨论】:

  • 你试过用manage.py吗?
  • manage.py 也只存在于鸡蛋中。

标签: python django internationalization buildout


【解决方案1】:

如果您不使用virtualenv,那么所有内容都应该在您的PYTHONPATH 上。考虑到这一点,请查看https://github.com/django/django/blob/master/django/bin/django-admin.py

#!/usr/bin/env python
from django.core import management

if __name__ == "__main__":
    management.execute_from_command_line()

制作自己的django-admin.py 没什么大不了的,不是吗?这应该可以解决问题。但是不要忘记设置DJANGO_SETTINGS_MODULE env 变量。

【讨论】:

  • 要是这么简单就好了。有一个wsgi文件,里面设置了项目中包含的所有鸡蛋的路径。
  • @Euphorbium 好吧,对我来说这绝对是单独的问题。只需在 django-admin.py 中设置相同的路径即可。
【解决方案2】:

显然,有一个 django 文件,它将所有的 egg 都设置在 sys.path 中,然后将命令传递给 django。不过,我不知道这是否是构建的标准。

【讨论】:

  • 啊,你的意思是有一个bin/django?那在构建中不是标准的,但您的项目显然使用了“djangorecipe”构建配方。这会给你一个bin/django,它实际上与django-admin.py 相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-05
  • 2010-10-02
  • 1970-01-01
  • 2011-01-05
  • 2010-10-29
相关资源
最近更新 更多