0

我正在使用一个 python 库 ( ),它在您运行时flower将入口点安装到另一个库 ( ) 中。但是,我想将花和芹菜都保留在我的应用程序目录中,而不是在 python 系统上全局安装。如何以编程方式将花的入口点安装到芹菜中?celerysetuptools

请注意,入口点定义PKG-INFO如下:

[celery.commands]
flower = flower.command:FlowerCommand

有一个pkg_resources.load_entry_point似乎是我想要的功能,但我不确定如何使用它。

4

2 回答 2

0

你试过virtualenv吗?它允许您创建本地环境,以便您可以为一个应用程序安装东西,而无需全局安装东西。这是一个关于它的傻瓜教程

于 2013-07-13T21:28:19.407 回答
0

这是我最终使用的解决方案,效果很好,但特定于芹菜和花卉。我将以下内容放入我的settings.py

INSTALLED_APPS += [
    'djcelery',
]
try:
    import flower.command
    import celery.bin.celery
except Exception as e:
    logging.error("Flower will not be available: %s"%e)
else:
    celery.bin.celery.CeleryCommand.register_command(
          flower.command.FlowerCommand, name='flower')
于 2013-07-17T05:27:24.733 回答