2013-07-13 1 views
0

Я использую библиотеку python (flower), которая устанавливает точку входа в другую библиотеку (celery) при запуске setuptools. Тем не менее, я хочу сохранить как цветок, так и сельдерей в моем каталоге приложений, а не устанавливать его глобально на систему python. Как установить программную точку цветка в сельдерей?Добавление точки входа Python без запуска setuptools

Обратите внимание, что точка входа определяется в PKG-INFO следующим образом:

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

Существует функция pkg_resources.load_entry_point, что, кажется, что я хочу, но я не уверен, как использовать его.

ответ

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') 
0

Вы попробовали virtualenv? Он позволяет создавать локальные среды, чтобы вы могли устанавливать вещи для одного приложения без необходимости устанавливать вещи во всем мире. Вот goof tutorial about it.

+0

Многие из пакетов, которые я использую либо не доступны на PyPI, или мне нужно на самом деле последние версии непосредственно из GIT хранилищ. virtualenv лучше подходит для стандартных пакетов, нет? Я не думаю, что это очень поможет в моей ситуации. – speedplane

 Смежные вопросы

  • Нет связанных вопросов^_^