Как загрузить конфиг в библиотеку Python?
Доброй ночи. Есть вот такая библиотека:
lib/
│
├── lib/
│ ├── __init__.py
│ ├── main.py
│ └── config.py
├── LICENSE
├── README.md
├── setup.cfg
└── setup.cpy
После загрузки и установки библиотеки, пытаюсь импортировать библиотеку:
import lib
И мне выходит такая ошибка:
ModuleNotFoundError: No module named 'config'
Структура setup.py файла:
from setuptools import setup, find_packages
def readme():
with open('README.md', 'r', encoding='utf-8') as f:
return f.read()
setup(
name='lib',
version='1.0.7',
author='author',
author_email='[email protected]',
description='some desc',
long_description=readme(),
long_description_content_type='text/markdown',
url='url',
packages=find_packages(),
classifiers=[
'Programming Language :: Python :: 3.10',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent'
],
keywords='python',
project_urls={
'Documentation': 'docs'
},
python_requires='>=3.7'
)
Вот код init.py файла:
import main
import config
Что делать - незнаю. Буду благодарен за любую помощь.
Ответы (1 шт):
Автор решения: M141
→ Ссылка
Можете попробовать добавить файл config.py в список экспортируемых модулей, которые будут доступны после установки библиотеки.
- В структуру
setup.pyфайла добавьтеpackage_dataаргумент, следующим образом:
...
setup(
...
packages=find_packages(),
package_data={
'lib': ['config.py']
},
classifiers=[
'Programming Language :: Python :: 3.10',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent'
],
...
)
- Так же необходимо добавить префикс
libвinit.pyфайл:
import lib.main
import lib.config
После переустановки пакета, модуль config должен стать доступным для импорта из lib