python3与anaconda2共存

Posted chen狗蛋儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3与anaconda2共存相关的知识,希望对你有一定的参考价值。

我是先下载了python3,后来因为需要2为了省事就去下载了anaconda2,但发现这里有个很严重的共存问题。

找了一下网上的各种共存问题,发现网上的基本上都是基于一个anaconda然后通过虚拟环境创建另外一个环境,从而实现两个py共存。

但这个根本不是我的本意,之前找了挺多在方法没能解决就算了。现在使用conda去下载包时,居然发现没有-r这个命令。。。也就是说不能像pip -r requirements.txt 一样一次性安装所有包,只得一个一个很麻烦。于是就还是想把它们共存下去。

 

其实py2和py3的共存方法有很多,我也是看了这篇博客才有点启发:http://blog.csdn.net/dream_an/article/details/51248736 但他的是要把原生py2和py3共存,而不是像我这样是一个py一个anaconda,网上一点这种共存的资料都没有,那我来写一个吧。

主要还是看到那篇博客里面的python2 -m pip list #查看 这里受到启发,发现可以用不pip2 list,而直接通过python去指定py2引导pip2.

我本来是原有的py3和其script环境变量

 

那个时候命令行下只能使用py3(我这里没吧py3里面的python.exe改成python3.exe,所以在cmd下运行python是默认进入python3和运行pip是进入pip3,个人也更多使用3),安装了anaconda2之后,我没动环境变量,所以在cmd下只能使用anaconda2的conda,但不能进入其的python2和pip2,所以这点有点燥。然后这次找了篇博客改了一下anaconda2文件夹里面的python.exe改成python2.exe,pip.exe改成pip2.exe,再在换金币安利加入E:\\Anaconda2和E:\\Anaconda2\\Scripts\\,发现这个时候在cmd下就能使用python2进入py2了,但遗憾的是pip2无用,甚至conda都没用了看这个报错貌似是因为我更改了python.exe成python2.exe的原因吧。刚好看到那篇的-m命令,灵机一动,于是想到了把anaconda2里的python.exe复制一份重命名就像这样,把anaconda里的pip2改回pip,然后把环境变量中py2的E:\\Anaconda2\\Scripts\\删掉只剩E:\\Anaconda2(当然py3的环境变量放在他们前),于是这样就实现了原生python3与anaconda2的共存了!(只是py2使用pip起来要麻烦一点,要像这样使用:python2 -m pip ***)

这样就测试到了,可以把他们分开来使用了!(一定要记得python3的环境变量在python2之前,且python2不需要pip的环境变量)

------------------------------更新---------------------

 而ipython就更容易了,之前我3的ipython在安装jupyter不知道出了什么问题,pip install的时候表示有ipython,但是在命令行却进不了ipython(当时我的电脑只有3),很纳闷。

后来装了anaconda2后,2里面的ipython就成了正统的了,在命令行输入ipython都是进入2的。

直到今天,我用-U升级了一下py3里的ipython,然后直接在命令行里输入ipython进入的就是3的了(因为我的pip环境变量是3),我当时在想怎样进入ipython2,

 发现-m的命令无法打开ipython,但是能打开2的jupyter

3的jupyter直接打开就ok了:

我当时报着试一下的心态输入ipython2,结果还真进入了ipython的2,(我没有改2site-package里面的ipython)

 

于是再试一下ipython3,发现这样却也可行:

 

但输入python3,就不行,还是有点怪的啊:

或许ipython是设计好了的可区分吧。

 

 

 

以上是关于python3与anaconda2共存的主要内容,如果未能解决你的问题,请参考以下文章

anaconda2和anaconda3共存条件下都安装上Scrapy库的方法

Python3 与 Python2共存

python2与python3共存的问题

python2 与 Python3共存,解决pip问题

Python之美——Python2与Python3多版本共存

pip2与pip3共存的问题