точки входа из setup.py не работают

Я пытаюсь получить точку входа для запуска моего фляжного приложения.

Я думаю, это из-за структуры каталогов:

my_app
  - __init__.py
  - app.py  
  - setup.py
  - etc..

Мой файл setup.py:

from setuptools import setup, find_packages
import os.path

def read_requirements(pathname):
    with open(pathname) as f:
        return [line for line in (x.strip() for x in f) if not line.startswith('#')]

def project_path(*names):
    return os.path.join(os.path.dirname(__file__), *names)

setup(
    name='my_app',
    version='0.1.0',

    install_requires=read_requirements(os.path.join(os.path.dirname(__file__), 'requirements.txt')),

    test_suite='nose.collector',

    entry_points={
        'console_scripts': [
            'START_ME=app:run',
        ],
    },
    classifiers=["Programming Language :: Python :: 2.7"],
    description=__doc__,
    long_description='\n\n'.join(open(project_path(name)).read() for name in (
            'README.md',
            )),
    zip_safe=False,
    include_package_data=True,
    packages=find_packages(),
    )

Я думаю, что метод find_packages() не улавливает тот факт, что он находится в пакете, может быть, он ищет пакеты в каталогах более низкого уровня? Я пробовал find_packages('.') попытаться заставить его искать в корневом каталоге проекта, но это не сработало.

Могу ли я заставить это работать, не меняя структуру каталогов?

Вот собственно проект:

https://github.com/ThriceGood/Mimic

РЕДАКТИРОВАТЬ:

Кроме того, я заметил, что когда я запускаю setup.py install, я получаю файл top_level.txt в моей папке egg.info, в котором говорится, что верхний уровень на самом деле является пакетом, который существует внутри корневого/основного пакета, например:

 / main_package
     - __init__.py
     - app.py
     / sub_package
         - __init__.py
         - sub.py

в файле top_level.txt написано sub_package.


person ThriceGood    schedule 20.07.2016    source источник


Ответы (1)


Я только что поместил все файлы приложения фляги в подкаталог внутри корневого каталога проекта. исправил красиво.

/project
  - setup.py
  /flask_app
    - __init__.py
    - app.py
person ThriceGood    schedule 21.07.2016