从开始接触Python就一直使用2.7.x版本,后来想转到Python3.x版本,但是python2和python3版本不好切换就依然使用python2。
python2.7最2.x的最后一个大版本,并且不会再对2.7增加新特性,官方也建议转到3.x版本。所以就先写兼容python2和python3的脚本。之前测试的时候比较麻烦了,需要先到python2目录下运行,再到python3目录下运行。后面经过一段折腾终于可以方便的切换两个版本了。
python 启动器
python官方发布了一个python启动器,可以很方便的使用特定的python版本执行脚本。
该启动器被包含在python3.4及以后的安装包中。
先看使用帮助
C:\Users\my>py -h Python Launcher for Windows Version 3.6.1150.1013 usage: py [ launcher-arguments ] [ python-arguments ] script [ script-arguments ] Launcher arguments: -2 : Launch the latest Python 2.x version -3 : Launch the latest Python 3.x version -X.Y : Launch the specified Python version -X.Y-32: Launch the specified 32bit Python version
py -2 test.py py -3 test.py
这个启动器确实很好用,但是有以下弊端:
- 对于双击执行的.py文件无效
- 对于path环境变量里的.py文件不能直接使用文件名
bat脚本
python脚本查找python的步骤:
- 查找
PATH
环境变量里的python - 查看
PY_PYTHON
环境变量的值
基于上面的查找步骤,只需要修改PATH
或PY_PYTHON
环境变量就可以了。
这里我写了2个bat脚本,然后将它们的目录放入PATH
变量中,方便随时调用。
setpy2.bat
@echo off set pypath=D:\tools\Python27 set path=%pypath%;%pypath%\Scripts;%path% set PY_PYTHON=2 rem 永久保存版本 setx PY_PYTHON 2
setpy2.bat
@echo off set pypath=D:\tools\Python36 set path=%pypath%;%pypath%\Scripts;%path% rem 设置py版本 set PY_PYTHON=3 rem 永久保存版本 setx PY_PYTHON 3
测试脚本
#!/usr/bin/env python import sys print(sys.version)
使用方式
setpy2 test.py setpy3 test.py
上面的脚本只永久保存PY_PYTHON
环境变量,而不永久保存PATH
变量,所以将PATH
环境变量中的python目录移除掉才能保证双击.py脚本时使用特定的python版本来执行。
» 转载请注明来源:www.litefeel.com » 《在Windows上轻松切换不同版本Python》
» 本文链接地址:https://www.litefeel.com/switch-python-version-on-windows/
» 订阅本站:www.litefeel.com/feed/
» Host on Linode VPS
» 本文链接地址:https://www.litefeel.com/switch-python-version-on-windows/
» 订阅本站:www.litefeel.com/feed/
» Host on Linode VPS
This post was last modified on 2019 年 02 月 25 日 01:34