部署Streamlit应用时遇numpy模块未找到错误(已声明依赖)
解决lap==0.4.0安装时提示找不到numpy的问题
问题背景
requirements.txt中指定numpy==1.25.1且已成功安装,但安装lap==0.4.0时,构建wheel过程中仍报错ModuleNotFoundError: No module named 'numpy',尝试多个numpy版本后问题仍存在。
解决方案
方法1:禁用pip的构建隔离
pip默认会创建隔离的构建环境,导致已安装的numpy无法被lap的setup.py检测到。执行以下命令安装lap:
pip install lap==0.4.0 --no-build-isolation
方法2:验证环境后手动构建安装
- 先确认numpy在当前环境可用:
python -c "import numpy; print(numpy.__version__)"
若输出1.25.1,说明环境配置正确。
2. 下载lap源码并本地安装:
pip download lap==0.4.0 --no-deps tar -xzf lap-0.4.0.tar.gz cd lap-0.4.0 python setup.py install
方法3:检查虚拟环境一致性
确认安装numpy和lap时使用的是同一个虚拟环境:
- 查看当前pip路径:
which pip - 查看numpy安装路径:
pip show numpy | grep Location
确保两者指向同一环境目录。
原因说明
lap的setup.py在构建阶段需要直接导入numpy完成版本检测和编译配置,但pip默认的构建隔离机制会在干净环境中执行构建流程,导致已安装的numpy无法被访问。禁用构建隔离后,构建过程会复用当前环境的依赖,从而解决问题。
内容的提问来源于stack exchange,提问作者Sandip Shaw
相关产品推荐
相关产品推荐

