2017-08-10 146 views
1

我所用的Python加载旧版本sklearn

pip uninstall scikit-learn 
pip install scikit-learn==0.18.2 

不过安装的版本0.18.2我的Mac上scikit学习,当我运行

python 
>>> import sklearn 
>>> sklearn.__version__ 

我得到

'0.17' 

有趣的是,即使在我卸载scikit-learn之后,这个旧版本仍然安装。这可能与某种程度上安装的多个Python版本有关吗?我试图在一个点上试图使用Anaconda来试图获得numpy和scipy的运行,然后转而使用ActivePython。当我运行

which python 

我得到

/Library/Frameworks/Python.framework/Versions/2.7/bin/python 

我知道有对SO非常类似的问题,但没有发布的解决方案已经奏效。

回答

1

检查你的python路径。在unix上:

echo $PYTHONPATH 

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

+0

宾果!我设置了'PYTHONPATH =/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'来匹配@JoshuaRLi建议的'pip --version'的结果。谢谢! – yearling

+0

@yearling自己搞砸了不止一次;)现在我离开这个空,并使用conda,没有更多的问题! – Y0da

0

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

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

python -m pip install scikit-learn --upgrade将使用您调用的任何python来调用其自己的安装pip(如果存在)。这应该在你的用例中起作用,因为它可以让你不用担心无论你的地图是pip

+0

我花了5分钟之前弄清楚如何做到这一点的任何5秒提示?特别是pip2.7 --install scikit-learn == 0.18.2给了我相同的行为。 – yearling

+0

@yearling别担心,我倾向于用附加信息快速更新我的答案:) – JoshuaRLi

+0

'pip --version' yield:pip 9.0.1 from /Library/Frameworks/Python.framework/Versions/2.7/lib/python2 .7/site-packages(python 2.7)。 'python -m pip install scikit-learn --upgrade'得到 需求已经是最新的:scikit-learn在/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages – yearling