4@TOC
简介
由于我是学生,在上不同课程的时候,对不同的作业需要使用Python做不同的工作,比如图像处理、机器学习,甚至还用Labview+Python进行作业设计,而一些特定的包是只能运行在特定版本的Python上的,因此电脑逐渐同时拥有了Python2.7.7、Python3.6.7以及Anaconda 提供的Python3.8。
所幸这些版本可以同时存在于一台电脑上,此时最重要的就是如何去驾驭这些版本的Python。
一般的使用方法
我最经常使用的Python运行方法是在命令行下调用命令:
python media.py
当电脑中只有一个版本的Python时,只要对python命令添加了环境变量
,这样运行是没有问题的。
问题所在
多版本的Python存在的时候,使用命令行运行如下命令究竟使用的是哪个版本的Python呢?
python media.py
可执行文件解决方案
显然,使用的Python版本与环境变量绑定的命令有关,我的环境变量如下:
显然,在这些路径中,哪一个路径下有名为“python.exe”的可执行文件,那么该版本就会在运行python 命令的时候被调用。
需要注意的是,这些路径中有两个或者两个以上的路径都拥有‘python.exe’时候,会按照从上到下的优先级进行运行。你当然可以这样做,但是这明显会降低你的工作效率,当你若干月之后再次调用python命令的时候,你已经忘记了所调用的版本究竟是哪一个了。
可执行文件
可执行文件就是后缀为.exe的文件,当你使用命令行的时候,就是运行的该可执行文件。也就是说,如果你不告诉你的计算机这个可执行文件的绝对路径在哪里,计算机不会去主动找它的。这也就是为什么每次下载python之后,需要将python的路径告诉你的计算机,这样你每次在命令行在使用
python helloworld.py
的时候,计算机才会运行python.exe。
在这里随意打开一个环境变量:
很明显,这就是Python2.7.7的路径,使用该版本的Python的时候,调用的命令应该是
python2 helloworld.py
你可以随意改变这个可执行文件的名字,比如改为’python277.exe’,这时候你想要使用python2.7.7解释某个python文件的时候,就得使用新的命令:
python277 helloworld.py
总结
你只要在环境变量中,告诉你的计算机什么命令对应哪个版本的exe即可。
#新的解决方案
anaconda可以提供创建不同的虚拟环境,每一个虚拟环境下均可以安装一个版本的python,避免了多版本直接在系统中共存。