You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装21cmFAST时Preparing metadata失败,求解决方案

解决setuptools-scm无法检测版本的Python包安装问题

我尝试按照项目说明安装Python包,在项目目录执行pip install .时遭遇以下错误:

error: subprocess-exited-with-error

Preparing metadata (pyproject.toml) 执行失败,退出码:1
[37行输出]
Traceback (最近的调用最后):
文件 "/home/user/anaconda3/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",第353行,在
main()
文件 "/home/user/anaconda3/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",第335行,在main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
文件 "/home/user/anaconda3/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",第149行,在prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools/build_meta.py",第366行,在prepare_metadata_for_build_wheel
self.run_setup()
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools/build_meta.py",第311行,在run_setup
exec(code, locals())
文件 "",第43行,在
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools/init.py",第103行,在setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools/distutils/core.py",第147行,在setup
setup_distribution = dist = klass(attrs)
^^^^^^^^^^^^
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools/dist.py",第303行,在__init

Distribution.init(self, dist_attrs)
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools/distutils/dist.py",第283行,在__init

self.finalize_options()
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools/dist.py",第654行,在finalize_options
ep(self)
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools_scm/_integration/setuptools.py",第121行,在infer_version
_assign_version(dist, config)
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools_scm/_integration/setuptools.py",第56行,在_assign_version
_version_missing(config)
文件 "/tmp/pip-build-env-6_pvzx2q/overlay/lib/python3.11/site-packages/setuptools_scm/_get_version_impl.py",第112行,在_version_missing
raise LookupError(
LookupError: setuptools-scm 无法检测 /home/user/21cmFAST-master 的版本。

请确保从完整的git仓库或PyPI tarballs构建。大多数其他来源(如GitHub的压缩包、无.git文件夹的git检出版本)不包含必要元数据,无法正常工作。

例如,若使用pip,请使用 git+https://github.com/user/proj.git#egg=proj 替代 GitHub的压缩包链接
[输出结束]

note: 此错误源自子进程,大概率与pip无关。
error: metadata-generation-failed

生成包元数据时遭遇错误。
详见上述输出。

解决方法

1. 克隆完整Git仓库后安装

如果当前目录是下载的GitHub压缩包(缺少.git文件夹),先删除现有文件夹,用Git克隆完整仓库再安装:

git clone https://github.com/yitiansun/DM21cm.git
cd DM21cm
pip install .

2. 直接通过Git URL安装

无需克隆仓库,直接让pip从Git源拉取并安装:

pip install git+https://github.com/yitiansun/DM21cm.git

3. 手动添加版本信息(临时方案)

如果必须使用现有无.git目录的文件夹,可在项目根目录创建VERSION文件,写入任意有效版本号(如0.1.0),再执行:

pip install .

此方法可能引发潜在兼容性问题,优先推荐前两种方案。

内容的提问来源于stack exchange,提问作者Ak2797

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 04:12:02