升级后出现ModuleNotFoundError

0 投票
1 回答
40 浏览
提问于 2025-04-13 00:46

我之前在 Jupyter lab 中使用的是 Python 3.9 版本。当我尝试安装 skrub 这个 sk-learn 的扩展时,发现需要一个大于 3.10 的版本。所以,我安装了最新的 Python 版本,也就是 3.12。

进入 Jupyter 后,我用 ! python --version 检查了版本,确认我在使用 Python 3.12.2,一切正常。

接着,我也在 Jupyter 中用 !pip install skrub 安装了 skrub。这个过程也很顺利,系统确认 skrub、scikit-learn、numpy、scipy、pandas 等都成功安装在了文件夹 c:\users\JCF\appdata\local\programs\python\python312\lib\site-packages 中。

一切正常,没有错误或警告。

现在,在同一个笔记本中,几乎在下一个单元格,我输入命令 from skrub import TableVectorizer。结果我收到了一个信息:模块未找到错误:没有名为 'skrub' 的模块。

根据这里其他人提问的情况,我了解到这可能和 Windows 的路径有关。现在,我想知道下一步该怎么做,才能在 3.12 中得到一个完全正常的版本?我需要完全卸载 3.9 吗?

注意:
使用魔法命令(正如 Wayne 推荐的那样),在从 3.9 升级之前,我也得到了同样的信息。我收到的消息如下:

ERROR: Ignored the following versions that require a different python version: 0.1.0 Requires-Python >=3.10

ERROR: Could not find a version that satisfies the requirement skrub (from versions: none)

ERROR: No matching distribution found for skrub

1 个回答

0

我觉得之前可能是两个版本的路径搞混了。最后,我把9版本完全卸载了。然后,因为我用的Jupyter lab版本有点落后,所以我决定马上升级Jupyter。结果一切都很顺利,新版本都能正常工作。

最后,我最担心的方法反而是最简单直接的。我之前用旧版本的Python、pandas和sk-learn写的所有脚本现在都能正常运行。

撰写回答