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

pip安装本地自定义构建包时已安装依赖仍无法找到

问题分析

从报错日志的核心信息可以看出:你的自定义构建代码(mycustominstaller/__init__.py第19行)在包的构建阶段直接导入了numpy,但pip的构建环境是独立隔离的,不会自动继承全局环境的依赖,因此触发ModuleNotFoundError: No module named 'numpy':

File "/myfolder/mypackagename/mycustominstaller/__init__.py", line 19, in <module>
  import numpy as np
ModuleNotFoundError: No module named 'numpy'
解决方案

方法1:手动预安装构建依赖

执行安装命令前,先在当前环境安装numpy:

pip install numpy

再执行原安装命令:

python3 -m pip install -vvv .

方法2:在pyproject.toml中声明构建依赖(推荐)

在项目根目录的pyproject.toml里,将numpy添加到构建系统的依赖列表中,pip会自动在临时构建环境中安装这些依赖:

[build-system]
requires = ["setuptools", "wheel", "numpy"]  # 新增numpy到构建依赖
build-backend = "setuptools.build_meta"

修改后直接执行原安装命令即可,无需手动提前安装。

方法3:跳过构建环境隔离(仅本地调试用)

如果你的全局环境已经安装了numpy,可以强制pip使用当前环境构建,跳过隔离机制:

python3 -m pip install -vvv . --no-build-isolation

注意:该方法不适合正式发布场景,会依赖全局环境状态,可能导致构建结果不一致。

补充提示

构建依赖和运行依赖是两个概念:

  • 运行依赖是包安装后运行时需要的,通常写在setup.py的install_requires或pyproject.toml的[project.dependencies]中;
  • 构建依赖是包构建过程中需要的,必须在[build-system.requires]中声明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:55:39