安装spacepy遇CCompiler_spawn错误及numpy版本管理问题求助
问题解决步骤
一、修复TypeError: CCompiler_spawn() got an unexpected keyword argument 'env'
该错误是由于setuptools版本过高,与spacepy依赖的编译API不兼容导致。执行以下命令降级setuptools到兼容版本:
pip install setuptools==65.5.0
完成后重新尝试编译安装spacepy。
二、解决numpy版本冲突与安装失败问题
- 手动指定numpy版本并安装spacepy
spacepy的安装脚本可能硬编码了numpy依赖版本,导致自动下载旧版。先手动安装兼容的numpy版本,再跳过依赖自动安装spacepy:
# 安装spacepy指定的numpy 1.21.1(强制重装并跳过缓存) pip install numpy==1.21.1 --force-reinstall --no-cache-dir # 安装spacepy,不自动处理依赖 pip install spacepy --no-deps
若需安装numpy 1.24.3(确认与Python3.11兼容),执行:
pip install numpy==1.24.3 --force-reinstall --no-cache-dir
- 用虚拟环境隔离全局依赖污染
重装Python后问题仍存在,多是全局环境的依赖残留导致。创建干净的虚拟环境操作:
# 创建虚拟环境 python -m venv spacepy_env # Windows cmd下激活虚拟环境 spacepy_env\Scripts\activate.bat # Windows PowerShell下激活虚拟环境 spacepy_env\Scripts\Activate.ps1 # 激活后依次安装依赖 pip install setuptools==65.5.0 numpy==1.21.1 pip install spacepy
三、修复损坏的Anaconda(如需继续使用)
若还要用Anaconda,先完全清理残留再重装:
- 卸载Anaconda程序
- 删除残留安装目录(默认
C:\Users\<你的用户名>\anaconda3) - 删除用户目录下的
.condarc文件、conda文件夹 - 清理系统环境变量中Anaconda相关条目
重新安装对应Python3.11的Anaconda版本后,创建conda虚拟环境操作:
conda create -n spacepy_env python=3.11 conda activate spacepy_env conda install setuptools=65.5.0 numpy=1.21.1 pip install spacepy
内容的提问来源于stack exchange,提问作者user1087172
相关产品推荐
相关产品推荐

