如何修复构建与“图标”文件相关的 conda 包时的错误?

O.r*_*rka 6 python package google-drive-api conda conda-build

老实说,我无法弄清楚这个错误发生了什么。我以为这是我的清单文件中的内容,但显然不是。

\n

请注意,此目录位于我的 Google 云端硬盘中。

\n

这是我的MANIFEST.in文件:

\n
graft soothsayer_utils\ninclude setup.py\ninclude LICENSE.txt\ninclude README.md\nglobal-exclude Icon*\nglobal-exclude *.py[co]\nglobal-exclude .DS_Store\n
Run Code Online (Sandbox Code Playgroud)\n

我在目录中运行conda build .并收到以下错误:

\n
Packaging soothsayer_utils\nINFO:conda_build.build:Packaging soothsayer_utils\nINFO conda_build.build:build(2214): Packaging soothsayer_utils\nPackaging soothsayer_utils-2022.01.19-py_0\nINFO:conda_build.build:Packaging soothsayer_utils-2022.01.19-py_0\nINFO conda_build.build:bundle_conda(1454): Packaging soothsayer_utils-2022.01.19-py_0\nnumber of files: 11\nFixing permissions\nPackaged license file/s.\nINFO :: Time taken to mark (prefix)\n        0 replacements in 0 files was 0.11 seconds\n\'site-packages/soothsayer_utils-2022.1.19.dist-info/Icon\' not in tarball\n\'site-packages/soothsayer_utils-2022.1.19.dist-info/Icon\\r\' not in info/files\nTraceback (most recent call last):\n  File "/Users/jespinoz/anaconda3/bin/conda-build", line 11, in <module>\n    sys.exit(main())\n  File "/Users/jespinoz/anaconda3/lib/python3.8/site-packages/conda_build/cli/main_build.py", line 474, in main\n    execute(sys.argv[1:])\n  File "/Users/jespinoz/anaconda3/lib/python3.8/site-packages/conda_build/cli/main_build.py", line 463, in execute\n    outputs = api.build(args.recipe, post=args.post, test_run_post=args.test_run_post,\n  File "/Users/jespinoz/anaconda3/lib/python3.8/site-packages/conda_build/api.py", line 186, in build\n    return build_tree(\n  File "/Users/jespinoz/anaconda3/lib/python3.8/site-packages/conda_build/build.py", line 3008, in build_tree\n    packages_from_this = build(metadata, stats,\n  File "/Users/jespinoz/anaconda3/lib/python3.8/site-packages/conda_build/build.py", line 2291, in build\n    newly_built_packages = bundlers[pkg_type](output_d, m, env, stats)\n  File "/Users/jespinoz/anaconda3/lib/python3.8/site-packages/conda_build/build.py", line 1619, in bundle_conda\n    tarcheck.check_all(tmp_path, metadata.config)\n  File "/Users/jespinoz/anaconda3/lib/python3.8/site-packages/conda_build/tarcheck.py", line 89, in check_all\n    x.info_files()\n  File "/Users/jespinoz/anaconda3/lib/python3.8/site-packages/conda_build/tarcheck.py", line 53, in info_files\n    raise Exception(\'info/files\')\nException: info/files\n
Run Code Online (Sandbox Code Playgroud)\n

这是完整的日志

\n

我可以确认我的soothsayer_utils-2022.1.19.tar.gzIcon文件中不存在这些文件:

\n
(base) jespinoz@x86_64-apple-darwin13 Downloads % tree soothsayer_utils-2022.1.19\nsoothsayer_utils-2022.1.19\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 LICENSE.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MANIFEST.in\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 PKG-INFO\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 setup.cfg\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 setup.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 soothsayer_utils\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 soothsayer_utils.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 soothsayer_utils.egg-info\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 PKG-INFO\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 SOURCES.txt\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dependency_links.txt\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 requires.txt\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 top_level.txt\n\n2 directories, 13 files\n
Run Code Online (Sandbox Code Playgroud)\n

有人可以帮我去取conda build包裹吗?

\n

nfe*_*a78 2

我建议检查一些症状:

  1. 您的错误日志中有一条警告SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools。你有MANIFEST.insetup.py并且setup.cfg它们之间可能存在冲突。因为setup.py是 setuptools 的构建脚本。它告诉setuptools您的包(例如名称和版本)以及要包含哪些代码文件。此外,现有生成的 MANIFEST 将重新生成,而无需 sdist 将其修改时间与 MANIFEST.in 或 setup.py 之一进行比较,如此处所述

请参阅使用 setuptools 构建和分发包使用 setup.cfg 文件配置 setup()快速入门以获取更多信息

  1. 也许不是那么重要,但另一件值得研究的事情是,在不同阶段使用了 2 个不同的 python 发行版,因为 Python 3.10 用于:(Using pip 22.0.2 from $PREFIX/lib/python3.10/site-packages/pip (python 3.10)它也在您的 conda 依赖项中),而 Python 3.8 用于:File "/Users/jespinoz/anaconda3/lib/python3.8/site-packages/conda_build/tarcheck.py", line 53, in info_files raise Exception('info/files')这就是错误发生的地方。所以也许另一个与此相关的配置冲突。