Windows中Python2與Python3并存洛心,隨意切換版本 :
首先需要知道蔬螟,python默認(rèn)執(zhí)行版本由系統(tǒng)環(huán)境變量中Python2和Python3的先后順序決定盛正;
這兒給大家展示在不同情況下利用不同的方法調(diào)用python;
#1:Python Launcher調(diào)用參數(shù)
> py --help
Python Launcher for Windows Version 3.7.150.1013
usage:
py [launcher-args][python-args] script [script-args]
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
The above all default to 64 bit if a matching 64 bit python is present.
-X.Y-32: Launch the specified 32bit Python version
-X-32 : Launch the latest 32bit Python X version
-X.Y-64: Launch the specified 64bit Python version
-X-64 : Launch the latest 64bit Python X version
-0 --list : List the available pythons
-0p --list-paths : List with paths
py -2 #調(diào)用Python2
py -3 #調(diào)用Python3
py -2 *.py
#運(yùn)行python2程序
py -3 *.py
#運(yùn)行python3程序
下面是一個python2程序的例子,當(dāng)使用py -3時(shí)路星,運(yùn)行失敳⒒取卧檐;
#2:修改執(zhí)行程序.exe名字
..\Python37\python.exe可以修改為python2.exe
..\Python27\python.exe可以修改為python3.exe
這樣直接調(diào)用python2與python3就不會混亂了克懊;
#3:程序中申明
在python程序首行添加#! python3
指定由python3解釋運(yùn)行;
在python程序首行添加#! python2
指定由python2解釋運(yùn)行七蜘;
#3:pip運(yùn)行
py -2 -m pip install numpy #pip2 install numpy
py -3 -m pip install numpy #pip3 install numpy
#4:Python Launcher for Windows
python launcher是python3.3新增的一個功能谭溉,它對所有有的python版本都是兼容的;Python launcher for Windows可以幫助程序或命令選擇最合適的python版本作為解釋器橡卤,而不是最近安裝的python版本扮念;安裝3.3及更新版本的python時(shí),python launcher默認(rèn)加入到path中碧库。
詳細(xì)信息見Python Launcher for Windows
py是python launcher下的一個命令柜与;
##打開最近安裝的python版本
> py
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
##查看py詳細(xì)參數(shù)
>py -h
Python Launcher for Windows Version 3.7.150.1013
usage:
py [launcher-args][python-args] script [script-args]
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
The above all default to 64 bit if a matching 64 bit python is present.
-X.Y-32: Launch the specified 32bit Python version
-X-32 : Launch the latest 32bit Python X version
-X.Y-64: Launch the specified 64bit Python version
-X-64 : Launch the latest 64bit Python X version
-0 --list : List the available pythons
-0p --list-paths : List with paths
The following help text is from Python:
usage: C:\Program Files\Python37\python.exe [option] ... [-c cmd | -m mod | file | -][arg] ...
Options and arguments (and corresponding environment variables):
-b : issue warnings about str(bytes_instance), str(bytearray_instance)
and comparing bytes/bytearray with str. (-bb: issue errors)
-B : don't write .pyc files on import; also PYTHONDONTWRITEBYTECODE=x
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser; also PYTHONDEBUG=x
-E : ignore PYTHON* environment variables (such as PYTHONPATH)
-h : print this help message and exit (also --help)
-i : inspect interactively after running script; forces a prompt even
if stdin does not appear to be a terminal; also PYTHONINSPECT=x
-I : isolate Python from the user's environment (implies -E and -s)
-m mod : run library module as a script (terminates option list)
-O : remove assert and __debug__-dependent statements; add .opt-1 before
.pyc extension; also PYTHONOPTIMIZE=x
-OO : do -O changes and also discard docstrings; add .opt-2 before
.pyc extension
-q : don't print version and copyright messages on interactive startup
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S : don't imply 'import site' on initialization
-u : force the stdout and stderr streams to be unbuffered;
this option has no effect on stdin; also PYTHONUNBUFFERED=x
-v : verbose (trace import statements); also PYTHONVERBOSE=x
can be supplied multiple times to increase verbosity
-V : print the Python version number and exit (also --version)
when given twice, print more information about the build
-W arg : warning control; arg is action:message:category:module:lineno
also PYTHONWARNINGS=arg
-x : skip first line of source, allowing use of non-Unix forms of #!cmd
-X opt : set implementation-specific option
--check-hash-based-pycs always|default|never:
control how Python invalidates hash-based .pyc files
file : program read from script file
: program read from stdin (default; interactive mode if a tty)
arg ...: arguments passed to program in sys.argv[1:]