Setup.py - установить все файлы в библиотеку - PullRequest
0 голосов
/ 09 июля 2020

В настоящее время у меня есть такая файловая структура в приложении, которое я создаю:

.
├── README.md
├── bin
│   ├── __init__.py
│   └── fix_sales_quotes.py
├── lib
│   ├── __init__.py
│   ├── logger.py
│   ├── oracle_dbx_connector
│   │   ├── __init__.py
│   │   ├── dbx_connector.py
│   │   └── timeout.py
│   └── sales_quote
│       ├── __init__.py
│       ├── data
│       │   ├── __init__.py
│       │   ├── get_processed_quotes.py
│       │   ├── get_stuck_quotes.py
│       │   ├── get_subscriber_ids.py
│       │   └── get_workflow_events.py
│       └── report.py
├── requirements.txt
├── setup.py
└── var
    ├── logs
    └── reports

У моего приложения есть несколько точек входа в lib и bin в зависимости от того, что я пытаюсь сделать, и у меня есть проблемы с установкой всех установочных файлов в lib, чтобы они не зависали в root и точки входа все еще работали. Ниже приведена часть моего файла setup.py, и я хотел узнать, могу ли я получить некоторые рекомендации о том, как сохранить точки входа для bin и lib в каждом соответствующем подкаталоге, но все установочные файлы установлены в lib (например, dist, build , env et c)


setup(
    name='fix_sq_issues',
    python_requires='~=3.7',
    description='Fix and report on Sales Quote issues',
    long_description='',
    classifiers=[
        "Programming Language :: Python",
    ],
    author='Branden Connell',
    author_email='n@n.com',
    url='----',
    packages=find_packages(),
    entry_points={
        'console_scripts': [
            'sales_quote.stuck_quotes = lib.sales_quote.data.get_stuck_quotes:main',
            'sales_quote.processed_quotes = lib.sales_quote.data.get_processed_quotes:main',
            'sales_quote.subscriber_ids = lib.sales_quote.data.get_subscriber_ids:main',
            'sales_quote.workflow_events = lib.sales_quote.data.get_workflow_events:main',
            'sales_quote.report = lib.sales_quote.report:main',
            'sales_quote.fix = bin.fix_sales_quotes:entry_point'
        ]
    },
    include_package_data=True,
    zip_safe=False,
    install_requires=requirements,
)

1 Ответ

0 голосов
/ 09 июля 2020

Настоятельно рекомендую придерживаться другого макета проекта. Не следует пытаться сделать то, что у вас есть прямо сейчас, можно установить с помощью setuptools.

Это - отличная рекомендация, которая широко используется

...