我正在尝试创建一个 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/