同时管理python2和python3

时间:2017-02-02 23:10:16

标签: python python-2.7 python-3.x scikit-learn install

我正在大学学习两门课程,每门课程要求你使用两个不同版本的python,而我对两者都是新手。 一个要求你使用python 3和jupyter笔记本,另一个要用python 2和Spyder。 我已经通过anaconda安装了两个,并且python3被设置为我的默认值。

我正在尝试从SciKit Learn导入包,在Spyder中使用Python 2.7。当我在命令提示符下尝试pip install -U scikit-learn时,它说它已经是最新的但是引用了Anaconda3 \ lib \ sitepackages的默认文件夹,这显然无法帮助我在python 2中安装它。 如何更改此更改以更新Python2中的包?

谢谢!

2 个答案:

答案 0 :(得分:1)

仔细检查你正在使用的pip的哪个版本的python引用:

$ pip -V
# pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
$ pip2 -V
# pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
$ pip3 -V
# pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)

我不确定你的设置是什么样的,但如果它像我的那样默认为python 3.5,那么做一个pip install会安装python3的包而不是python2

希望这有帮助!

答案 1 :(得分:1)

使用virtualenv管理不同的python环境总是更好。

virtualenv -p /usr/bin/python2.7 yourenvname

对于激活用途,source ./yourenvname/bin/activate

当您激活虚拟环境并使用pip命令时,它将使用本地bin路径中的pip。 (使用which pippip -V检查位置)

据我了解您使用的是Anaconda,您可以使用conda命令创建新的虚拟环境。

conda create -n yourenvname python=x.x anaconda

对于激活用途,source activate yourenvname

如果你不使用这些解决方案,那么你想找到anaconda的python2.7 bin目录并调用它。 (尝试使用pip2

资源 - https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/20/conda/