给定这个目录 struct (空__init__.pylogging.yml是可以的):

foo
│   setup.py
│
└─── foo
     │   __init__.py
     │
     └─── config
              logging.yml

以下是我的try ,这setup.py:

from os import path
from setuptools import find_packages, setup

package_name = "foo"


if __name__ == "__main__":
    setup(
        name=package_name,
        packages=find_packages(),
        package_dir={package_name: package_name},
        package_data={"config":[path.join(package_name, "config", "logging.yml")]},
        include_package_data=True,
    )

# Also tried:
# package_data={"config": [path.join("config", "logging.yml")]}
# package_data={"": [path.join("config", "logging.yml")]}
# package_data={"": [path.join(package_name, "config", "logging.yml")]}

python setup.py install之后没有错误(也try 过python -m pip install .),但是从我的virtualenv根目录fd -HIFuuueyml logging运行没有返回任何结果,并且它在foo.egg-info\SOURCES.txt中没有出现.

PS:使用3.13.0a5本地测试;setuptools 69.2.0;pip 24.0.但在我的CI测试版上,版本为2.7,3.5,3.6,3.7,3.8,3.9,3.10,3.11,3.12跨Windows,Linux和macOS.&

推荐答案

这是有效的:

from setuptools import find_packages, setup

package_name = "foo"


if __name__ == "__main__":
    setup(
        name=package_name,
        packages=find_packages(),
        package_data={"foo": ["config/logging.yml"]},
        include_package_data=True,
    )

您只有1个包foo,所以您的package_data应该是这个包.

Python相关问答推荐

Pandas 填充条件是另一列

使用SciPy进行曲线匹配未能给出正确的匹配

Pandas实际上如何对基于自定义的索引(integer和非integer)执行索引

时间序列分解

用Python解密Java加密文件

Polars:用氨纶的其他部分替换氨纶的部分

在Mac上安装ipython

avxspan与pandas period_range

在两极中过滤

无论输入分辨率如何,稳定扩散管道始终输出512 * 512张图像

dask无groupby(ddf. agg([min,max])?''''

在Python中计算连续天数

matplotlib图中的复杂箭头形状

在matplotlib中使用不同大小的标记顶部添加批注

如何在Python 3.9.6和MacOS Sonoma 14.3.1下安装Pyregion

如何过滤组s最大和最小行使用`transform`'

仅使用预先计算的排序获取排序元素

我可以不带视频系统的pygame,只用于游戏手柄输入吗?''

多个矩阵的张量积

如何在Pandas中用迭代器求一个序列的平均值?