在不运行setuptools的情况下添加Python入口点



运行setuptools时,我使用的是一个python库(flower),它将一个入口点安装到另一个库(celery)中。但是,我希望将flower和celele都保留在我的应用程序目录中,而不是将其全局安装在python系统上。如何用程序将花的入口点安装到芹菜中?

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

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

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

您尝试过virtualenv吗?它允许您创建本地环境,这样您就可以为一个应用程序安装东西,而无需全局安装。这里有一个关于它的愚蠢教程。

这是我最终使用的解决方案,效果很好,但它是芹菜和花特有的。我在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')

相关内容

  • 没有找到相关文章

最新更新