升级后出现ModuleNotFoundError
我之前在 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 个回答
我觉得之前可能是两个版本的路径搞混了。最后,我把9版本完全卸载了。然后,因为我用的Jupyter lab版本有点落后,所以我决定马上升级Jupyter。结果一切都很顺利,新版本都能正常工作。
最后,我最担心的方法反而是最简单直接的。我之前用旧版本的Python、pandas和sk-learn写的所有脚本现在都能正常运行。