为何要在一个系统中装多个Python版本
Python的主版本有2和3两个,还有一些特殊的包要求特殊的版本号。软件开发和测试中,可能会遇到不同开发对Python版本和包的要求不同,还可能要测试编写代码在不同环境下的兼容情况,或在同一机器上同时运行多个对版本要求和依赖包要求不同的Python环境。诸如此类,都需要解决多版本Python共存的问题。
我出现该问题的原因
这篇教程的出现是由于博主在玩anconda、tensorflow、OpenVINO、机器视觉等人工智能系列的环境时需要使用python 3.6~3.7x ,但是博主之前使用的都是python 3.9 的版本,里面有很多之前装的环境依赖舍不得换掉。因此出现了多版本冲突问题,一开始博主尝试了网上很多诸如修改环境的方法,但是大多都是治标不治本。最后发现了这个最好用的方法,就此分享给大家。
解决方法
修改不同版本的python.exe的文件名为对应版本
这种思路下,多个版本的python可执行文件路径都配置在系统环境变量path中,但是通过修改可执行文件python.exe的文件名来进行区分。如将2版本的改名为python2.exe,将3版本的改名为python3.exe等等。对应的pip文件也用pip2和pip3改名或拷贝重命名。
这样做的好处同时也是坏处在于:其他应用程序中如果调用python的默认指令是python.exe的话,则要修改后方能指向对应的版本。
实际操作:
-
博主把python 3.6 文件路径下的 python.exe 修改成了
python36.exe
-
博主把python 3.9 文件路径下的 python.exe 修改成了
python39.exe
修改之后的使用方式
打开指定版本python环境
打开python 3.6 环境
python36
打开python 3.9 环境
python39
pip 安装到指定版本python
安装到python 3.6
python36 -m pip install package%包名%
安装到python 3.9
python39 -m pip install package%包名%
因为这个不是环境变量里那个python版本,使用会有一些警告,大概的意思就是说不是装到环境变量指向的那个版本(python 3.6),使用警告,这个本来就是我们的要求,所以警告无关紧要,无视即可