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

pip安装Scratch库后导入报ModuleNotFoundError错误求助

pip安装scratch后导入提示ModuleNotFoundError的排查与解决

问题复现

运行如下导入代码时报错:

from scratch.probability import normal_cdf
from scratch.linear_algebra import Vector, dot
#...

报错信息:
ModuleNotFoundError: No module named 'scratch'
已执行过pip install scratch但问题未解决。

根本原因

核心问题是包装错了:PyPI上名为scratch的包是个无关的代码片段管理工具,根本不包含probability、linear_algebra这类子模块。你代码里引用的scratch是《数据科学入门》教材的配套代码库,它在PyPI上的发布包名并不是scratch。

解决步骤

  1. 卸载错误安装的无关包
    执行命令清理之前装错的包:
    pip uninstall scratch -y
    
  2. 安装正确的配套代码库
    教材配套代码库在PyPI上的发布名为data-science-from-scratch,安装后导入路径即为scratch,执行安装命令:
    pip install data-science-from-scratch
    
  3. 验证安装
    打开Python交互环境,执行from scratch.probability import normal_cdf,无报错即安装成功。

其他常见触发场景排查

如果执行完上述步骤仍报错,逐一排查以下问题:

  • 解释器环境不匹配:运行代码的Python环境和执行pip命令的环境不是同一个。可以在代码开头加入如下代码打印当前运行的解释器路径:
    import sys
    print(sys.executable)
    
    拿到路径后,用<解释器绝对路径> -m pip install data-science-from-scratch的方式重新安装,确保包装到你实际运行代码的环境里。
  • 本地文件重名:你的代码文件所在目录下不能存在命名为scratch.py的文件,也不能有命名为scratch的自定义文件夹,否则Python导入时会优先读取本地文件,覆盖官方库的导入路径,触发模块找不到的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 16:36:30