Python3.9环境下安装bcml库遇numpy编译错误求助
解决Python 3.9安装bcml时的numpy编译报错问题
问题根源
- numpy==1.19.2对Python 3.9兼容性不足,且与升级后的setuptools存在API冲突,触发
TypeError: CCompiler_spawn() got an unexpected keyword argument 'env'报错。 - BLAS、LAPACK警告是因为系统缺少线性代数依赖库,影响numpy的编译构建流程。
解决方案
1. 先安装系统级线性代数依赖
根据操作系统执行对应命令:
- Ubuntu/Debian:
sudo apt-get install libblas-dev liblapack-dev gfortran - CentOS/RHEL:
sudo yum install blas-devel lapack-devel gcc-gfortran - macOS(Homebrew):
brew install openblas lapack
2. 安装兼容Python 3.9的numpy版本后再装bcml
numpy 1.20.0及以上版本正式支持Python 3.9,先安装该版本numpy,再安装bcml可避免拉取不兼容的旧版本:
pip3 install numpy>=1.20.0 bcml
如果bcml强制依赖旧版numpy,可跳过构建隔离,让它使用已安装的兼容numpy:
pip3 install numpy>=1.20.0 pip3 install bcml --no-build-isolation
3. 用conda管理依赖(可选)
conda会自动处理版本兼容性,适合依赖复杂的场景:
conda create -n bcml_env python=3.9 conda activate bcml_env conda install numpy bcml
内容的提问来源于stack exchange,提问作者EliScarlet17
相关产品推荐
相关产品推荐

