Я пытаюсь получить точку входа, чтобы запустить мое приложение для колб.точки входа из 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
EDIT:
Кроме того, я заметил, что когда я бегу setup.py установить я получаю файл top_level.txt в моей папке egg.info, это говорит о том, что верхний уровень на самом деле пакет, который существует внутри/основной пакет корня, как:
/main_package
- __init__.py
- app.py
/sub_package
- __init__.py
- sub.py
в файле top_level.txt, sub_package
.