我的PyPI包未包含仓库中的.txt.gz文件,原因是什么?
PyPI包未包含.txt.gz文件的常见原因
打包配置未声明该文件
若使用setuptools,需检查setup.py中的package_data/include_package_data配置,或MANIFEST.in文件是否添加了匹配规则(比如include path/to/your/file.txt.gz);若用pyproject.toml(当前推荐配置),要确认[tool.setuptools.package-data]或[tool.setuptools.data-files]是否正确指定了该文件的路径。未配置的话,打包工具默认不会自动包含这类非代码文件。文件不在打包范围内
如果.txt.gz文件不在你声明的包目录下,也没在配置里明确指定其路径,打包工具只会默认包含包目录内的代码文件,这类外部文件会被忽略。忽略规则排除了文件
检查.gitignore或.pyignore是否有匹配.txt.gz的规则,部分打包工具会参考这些忽略规则来过滤文件;另外,部分打包工具自身有默认排除规则,可能会跳过压缩文件,需要手动添加包含规则。打包/上传环节出错
先本地执行python setup.py sdist生成源码包,解压后确认文件是否存在,排除打包阶段的问题;同时要确认用twine上传的是最新生成的包,而非之前未包含该文件的旧包。
内容的提问来源于stack exchange,提问作者Mike B
相关产品推荐
相关产品推荐

