Создайте редактируемый пакет setup.py в той же корневой папке, что и __init__.py - PullRequest
0 голосов
/ 14 октября 2019

Существующий проект настроен таким образом, что репозиторий имеет __init__.py в корневой папке. Я хотел бы создать setup.py в хранилище, так что это будет структура результирующего проекта:

project-master/
├── __init__.py
├── setup.py
└── submodule1
    ├── code.py
    └── __init__.py
└── submodule2
    ├── code.py
    └── __init__.py

, и вы сможете:

git clone project.url
cd project-master
pip install -e .
from project.submodule1 import ...

Я попробовал взломатьрешение временного копирования содержимого подпапки, чтобы setup.py находился на один уровень выше от папки с пакетом, и установка оттуда. Это хорошо работает, если я pip install ., но, к сожалению, это решение не работает в редактируемом режиме, потому что я удаляю временную папку после установки.

Вопрос : Как правильно создатьsetup.py, который работает в редактируемом режиме и находится в той же корневой папке, что и __init__.py?

пакета

1 Ответ

1 голос
/ 17 октября 2019

Это представляется невозможным для редактируемой установки. Насколько я знаю, самое близкое, что можно получить, это следующее:

project-master/
├── __init__.py
├── setup.py
└── submodule1
    └── __init__.py
#!/usr/bin/env python3
import setuptools
setuptools.setup(
    name='ProjectMaster',
    version='0.0.0.dev0',
    packages=['project', 'project.submodule'],
    package_dir={
        'project': '.',
        'project.submodule': './submodule1',
    },
)

Обновление

Ниже приведена идея, какиспользуйте такой проект в редактируемом или режиме разработки : https://stackoverflow.com/a/58429242/11138259

...