Python多版本共存

我相信有许多人一个操作系统装了好几个Python,有些人可以随便切换,有些人装了好多个不管怎样只能用一个,其他的就是用不了!所以Python的多版本共存有必要系统的说一下了。

首先我们回想一下安装Python的过程,一般都是傻瓜式下一步+同意协议+修改安装路径+配置环境变量,其中修改安装路径和配置环境变量属于可选操作,但是我建议修改一下路径和配置环境变量!修改路径是因为默认路径一直都是C盘,装任何东西尽量不要装在C盘,因为占系统盘空间,会导致系统性能下降!至于为什么配置环境变量,首先得介绍一下什么是环境变量。

环境变量

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。环境变量相对于给系统或用户应用程序设置的一些变量。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。

通过这个解释,大家也应该知道环境变量是什么了吧!就是让我们使用命令提示符不切换路径就能直接执行程序,就好比我们在命令提示符不切换路径的情况下输入python然后回车不会提示'python'不是内部或外部命令,也不是可运行的程序或批处理文件。如果没有配置环境变量执行上述操作就会出现'python'不是内部或外部命令,也不是可运行的程序或批处理文件。至于python安装怎么配置环境变量非常简单,安装时勾选一下,安装结束直接自动给你配好。

系统变量与用户变量

环境变量有两种,一种是系统变量,一种是用户变量。系统变量是能够让任何用户访问的,用户变量只能自己访问自己。我安装anaconda默认选的只是我,所以安装完之后环境变量放在了用户变量里头。

多版本共存环境变量的问题

现在我装了2个Python,一个Python2.7.15,一个Python3.6.4(anaconda3 5.1.0)两个Python都是64bit,那么如果配置了环境变量就会有一个问题,我们首先来看一下两个安装目录(安装目录是环境变量中的一个,还有目录下的Scripts也是一个环境变量)里头有哪些可执行程序。

可以看到两个都有python.exe和pythonw.exe,那么如果我都配置了环境变量难道不会有冲突吗?其实并不会,系统是按顺序查找的,找到哪个就用哪个,至于怎么找我直接给出答案,如果都在系统变量或者用户变量path中,会从上往下一个个目录查找,找到就直接执行。接下来还有一种情况,一个在系统变量,一个在用户变量会怎么样呢?答案就是不管你的用户变量所属的用户是不是当前用户,不管你是不是管理员运行命令提示符,他都会先去寻找系统变量!用户变量的那个Python环境变量就等于没有了!就算是放在同一个环境变量中,频繁的切换顺序大家一定不愿意吧。我在这里直接斩草除根,很简单,将其中名字相同的exe文件改一个名就可以了,环境变量也照样添加,至于怎么改就不关我的事了。我给一个建议,统一改成原文件名版本号.exe,就比如我可以把Python2里面的python.exe改成python2.7.15.exe就行了,命令提示符一定要记住输入修改后的文件名!其它出现重名的情况用类似的方法即可(只要重命名可执行文件,其他的文件名千万不能改,改了后果自负——重装

),当然不止改这一点内容,pip也要修改的,不修改它就是老样子,找到哪个就用哪个,这也就是许多人迷惑为什么库装成功了却用不了。

原文发布于微信公众号 - 小陈学Python(gh_a29b1ed16571)

原文发表时间:2018-10-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券