Генерация пакета уровня root в python с помощью setuptools - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь сгенерировать пакет для моего python проекта. Моя структура проекта выглядит следующим образом: обработчики

src
 -controller
   -handlers
     -subfolder1
       -file1
     -subfolder2
       -file2
     -setup.py
     -init.py

- это пакет python. я пропустил init .py только для того, чтобы задать вопрос, а файл setup.py имеет следующий код:

setup(name='handlers',
    version='1.0',
    description='AWS Lambda ',
    packages=find_packages(),
    install_requires=['structlog==19.2.0', 'python-json-logger==0.1.10'],
    include_package_data=True,
    zip_safe=False)

Я пытаюсь сгенерировать пакет, называемый обработчиками, как на родительском уровне. Например: обработчики имен пакетов, которые содержат как subfolder1, так и subfolder2. Я использую AWS sam toolkit в pycharm для создания лямбды для локального развертывания и тестирования.

handlers
 -subfolder1
 -subfolder2

, но он генерирует пакет со своими подпапками индивидуально, как

-subfolder1
-subfolder2

как я могу создать пакет на уровне root / parent? любая помощь будет оценена.

1 Ответ

0 голосов
/ 30 марта 2020

Чтобы включить handlers в качестве пакета верхнего уровня, вам нужно переместиться setup.py на один уровень вверх. От

handlers
 -subfolder1
 -subfolder2
 -setup.py

до

handlers
 -subfolder1
 -subfolder2
setup.py

Do

cd handlers
mv setup.py ..
cd ..
python setup.py sdist bdist_wheel
...