无网Kaggle环境下Python3.11虚拟环境安装SWE Agent失败求助
解决方案:Kaggle断网环境下Python3.11虚拟环境安装SWE Agent
1. 预下载全量构建依赖wheel包
断网环境下,必须提前在联网的Linux x86_64机器(匹配Kaggle环境)上,针对Python3.11下载所有构建依赖的wheel包,不能只下载requirements.txt里的直接依赖:
- 操作步骤:
- 本地创建Python3.11虚拟环境
- 执行以下命令下载完整依赖:
pip install wheel # 下载SWE Agent依赖的wheel pip wheel --wheel-dir ./swe_build_deps -r https://raw.githubusercontent.com/princeton-nlp/SWE-agent/main/requirements.txt # 额外下载构建工具类包,确保版本兼容Python3.11 pip wheel --wheel-dir ./swe_build_deps setuptools wheel pip cython pycparser - 将所有下载的wheel包上传到Kaggle数据集(如
packages-for-sweagent)
2. 先安装构建工具,再安装SWE Agent
在Kaggle Notebook的虚拟环境中,先手动安装构建依赖,再执行主安装命令:
# 优先安装构建工具 !my_env/bin/python -m pip install --no-index --find-links=/kaggle/input/packages-for-sweagent/packages setuptools wheel pip # 安装SWE Agent依赖 !my_env/bin/python -m pip install --no-index --find-links=/kaggle/input/packages-for-sweagent/packages -r /kaggle/input/konwinski-prize-requirements/requirements.txt
3. 检查SWE Agent源码的构建依赖声明
错误指向本地SWE Agent源码包(file:///kaggle/working/sweagent),需检查其pyproject.toml或setup.py中的build-system.requires字段,确保这些构建依赖(如特定版本的setuptools)已包含在你的本地wheel包集合中。
4. 用uv替代pip执行离线安装
既然已经用uv创建虚拟环境,可直接用uv的离线安装功能,它对依赖的处理更适配虚拟环境:
!uv pip install --no-index --find-links=/kaggle/input/packages-for-sweagent/packages -r /kaggle/input/konwinski-prize-requirements/requirements.txt --python my_env/bin/python
5. 验证Python3.11虚拟环境完整性
确认虚拟环境的Python3.11组件完整,避免核心模块缺失:
!my_env/bin/python --version !my_env/bin/python -m pip --version !my_env/bin/python -m ensurepip --upgrade
若ensurepip缺失,需从Python3.11官方安装包中提取该模块,上传到Kaggle后手动安装。
内容的提问来源于stack exchange,提问作者Ryo
相关产品推荐
相关产品推荐

