python-3.x - 创建 pip 包时,如何使用 Manifest.in 排除目录?

标签 python-3.x setuptools packaging

我正在尝试创建一个 pip 包,当我创建该包时,它始终包含 __pycache__ 子目录。我使用 MANIFEST.in 来指定应包含哪些文件类型并且效果良好。

如何告诉 MANIFEST.in 排除包中任意位置的特定文件夹?

编辑:我试图排除一个目录,而不仅仅是一个文件。 list 中有多个选项可用于排除文件,例如全局排除或递归排除。但是没有 global-exclude-dir 选项,这就是我在这里问的原因。

我的 setup.py 看起来像这样:

from setuptools import setup, find_packages

setup(
    name='my_package',
    version='0.0.1',
    install_requires=[
        'importlib-metadata; python_version == "3.8"',
    ],
    include_package_data=True,
    package_dir={"my_package": "contrib"},   # renamed src to contrib 
)

list 包含以下内容:

global-include *.npy *.npz
global-include *.txt
# [+ current exclude-directory test]

global-include 命令正在按预期工作。我尝试了以下方法来排除任何 __pycache__ 目录(感谢 @phd 的建议):

prune __pycache__
prune */__pycache__ 
recursive-exclude */__pycache__ *

最佳答案

prune __pycache__

仅修剪顶级__pycache__。要修剪目录层次结构中任何位置的 __pycache__,请使用

prune */__pycache__ 

关于python-3.x - 创建 pip 包时,如何使用 Manifest.in 排除目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72181153/

相关文章:

sqlite - 更新时创建 Sqlite 数据库补丁

javascript - Html + js +css 打包器

python - 如何从 setuptools 安装程序 (setup.py) 中生成 python grpc 代码?

linux - 使用 CMake 和 Conan 针对 Linux 和 Windows 进行具有第三方依赖项的应用程序部署

java - Eclipse - 如何在整个项目中出现 "Change package declaration to ...."

python - 按时间间隔对列进行分箱并计算总和

python - 调用 print 时是否导入了 sys 'temporarily'?

python - 如何使用 OCR 从低分辨率图像中获得更好/准确的结果

pytest - 针对源代码或包运行测试

具有可执行依赖项的 Python C 扩展