Python加载旧版sklearn

Bie*_*ial 11 python activepython scikit-learn

我已经在我的 Mac 上安装了 0.18.2 版的 scikit-learn 使用

pip uninstall scikit-learn
pip install scikit-learn==0.18.2
Run Code Online (Sandbox Code Playgroud)

然而,当我跑

python
>>> import sklearn
>>> sklearn.__version__
Run Code Online (Sandbox Code Playgroud)

我得到

'0.17'
Run Code Online (Sandbox Code Playgroud)

有趣的是,即使在我卸载 scikit-learn 之后,仍然安装了这个旧版本。这可能与以某种方式安装的多个版本的 Python 有关系吗?我曾一度试图使用 Anaconda 来尝试让 numpy 和 scipy 运行,但后来我转而使用 ActivePython。当我跑

which python
Run Code Online (Sandbox Code Playgroud)

我得到

/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Run Code Online (Sandbox Code Playgroud)

我知道在 SO 上有非常相似的问题,但是发布的解决方案都没有奏效。

Jos*_*RLi 5

您必须确保pip您正在调用的是pip属于您正在调用的可执行文件python。否则,如果您的机器上有多个版本,您将安装 python 包到错误的版本。

pip --version将列出与pip您调用的任何内容相关联的 Python 版本。

python -m pip install scikit-learn --upgrade将使用python您正在调用的任何内容来调用它自己的安装pip(如果存在)。这应该适用于您的用例,因为它让您不必担心pip映射到什么。


Y0d*_*0da 4

检查你的Python路径。在 UNIX 上:

echo $PYTHONPATH
Run Code Online (Sandbox Code Playgroud)

这将输出用于模块导入的所有路径。您可能在其他地方安装了一些旧版本。