Python 未安装setup.py包捆绑文件

Python 未安装setup.py包捆绑文件,python,package,setup.py,pkg-resources,Python,Package,Setup.py,Pkg Resources,我有一个文件,它正确地出现在源代码分发版和控制盘中,但安装时它不会出现在站点包中 我的项目结构如下所示: |-- README.md |-- config | `-- log.ini |-- oauc | |-- __init__.py | |-- odoo_driver.py | `-- page.py |-- requirements.txt `-- setup.py import setuptools setuptools.setup( name='oauc',

我有一个文件,它正确地出现在源代码分发版和控制盘中,但安装时它不会出现在站点包中

我的项目结构如下所示:

|-- README.md
|-- config
|   `-- log.ini
|-- oauc
|   |-- __init__.py
|   |-- odoo_driver.py
|   `-- page.py
|-- requirements.txt
`-- setup.py
import setuptools

setuptools.setup(
    name='oauc',
    version='0.0.1',
    packages=setuptools.find_packages(),
    data_files=[('oauc', ['config/log.ini'])],
    include_package_data=True
)
所讨论的文件是
config/log.ini

我的设置如下所示:

|-- README.md
|-- config
|   `-- log.ini
|-- oauc
|   |-- __init__.py
|   |-- odoo_driver.py
|   `-- page.py
|-- requirements.txt
`-- setup.py
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安装时(src是project dir的符号链接),生成的安装
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\u resources.resource\u文件名(\uu name\uu,'config/log.ini')
返回
venv/lib/python3.7/site packages/oauc/config/log.ini


如何在运行时访问与包捆绑在一起的
log.ini
文件,以及如何找到他的位置?

我将文件移到包内,使用包数据而不是数据文件,在
文件中添加了
清单。我想数据文件可能在别的地方。总之,在我的软件包中放入y配置文件并不奇怪。
因此,最终结果是:

结构:

|-- MANIFEST.in
|-- README.md
|-- oauc
|   |-- __init__.py
|   |-- config
|   |   |-- __init__.py
|   |   `-- log.ini
|   |-- odoo_driver.py
|   `-- page.py
|-- requirements.txt
`-- setup.py
清单1.in:

include oauc/config/log.ini
setup.py:

import setuptools

setuptools.setup(
    name='oauc',
    version='0.0.1',
    packages=setuptools.find_packages(),
    package_data={'config': ['log.ini']},
    include_package_data=True
)

我猜你不应该用pkg_资源查询属性数据_文件指定的文件,因为它们不在包中,这是我的主要错误。

噢,如果你知道一个关于学习setup.py的好资源,做什么和如何做,我就用它。因为官方文档对学习并不友好。如果有人对教程感兴趣:还有一个示例项目