У меня есть файл, который правильно отображается внутри исходного дистрибутива и колеса, но он не отображается в пакетах сайтов при установке.
Структура моего проекта выглядит следующим образом:
|-- README.md
|-- config
| `-- log.ini
|-- oauc
| |-- __init__.py
| |-- odoo_driver.py
| `-- page.py
|-- requirements.txt
`-- setup.py
Файл, о котором идет речь, config/log.ini
.
Моя установка выглядит следующим образом:
import setuptools
setuptools.setup(
name='oauc',
version='0.0.1',
packages=setuptools.find_packages(),
data_files=[('oauc', ['config/log.ini'])],
include_package_data=True
)
И вот результат oauc-0.0.1.tar.gz
:
|-- PKG-INFO
|-- README.md
|-- config
| `-- log.ini
|-- oauc
| |-- __init__.py
| |-- odoo_driver.py
| `-- page.py
|-- oauc.egg-info
| |-- PKG-INFO
| |-- SOURCES.txt
| |-- dependency_links.txt
| |-- requires.txt
| `-- top_level.txt
|-- setup.cfg
`-- setup.py
Это выглядит хорошо.
Однако, когда я устанавливаю с pip install src/dist/oauc-0.0.1.tar.gz
(sr c является символической ссылкой на каталог проекта), результирующая установка venv/lib/python3.7/site-packages/oauc
не включает файл:
|-- __init__.py
|-- __pycache__
| |-- __init__.cpython-37.pyc
| |-- odoo_driver.cpython-37.pyc
| `-- page.cpython-37.pyc
|-- odoo_driver.py
`-- page.py
И я думаю, что это должно быть там. В моем файле инициализации:
import logging.config
import pkg_resources
logging.config.fileConfig(pkg_resources.resource_filename(__name__, 'config/log.ini'))
Вызов pkg_resources.resource_filename(__name__, 'config/log.ini')
возвращает venv/lib/python3.7/site-packages/oauc/config/log.ini
.
Как сделать файл log.ini
, связанный с пакетом, доступным во время выполнения и как мне это сделать найти его местоположение?