我必须在Windows服务器上运行Python脚本。我怎么知道我用的是哪个版本的Python,这真的很重要吗?

我在考虑升级到最新版本的Python。


当前回答

在Windows操作系统下,在命令提示符中输入以下命令,验证命令的Python版本。

c:\> python -V
Python 2.7.16

c:\> py -2 -V
Python 2.7.16

c:\> py -3 -V
Python 3.7.3

此外,要查看每个Python版本的文件夹配置,请运行以下命令:

For Python 2, 'py -2 -m site'
For Python 3, 'py -3 -m site'

其他回答

虽然问题是“我使用的是哪个版本?”,但这可能并不是你需要知道的全部内容。您可能已经安装了其他版本,这可能会导致问题,特别是在安装其他模块时。这是我粗略地找出安装了什么版本的方法:

updatedb                  # Be in root for this
locate site.py            # All installations I've ever seen have this

单个Python安装的输出应该是这样的:

/usr/lib64/python2.7/site.py
/usr/lib64/python2.7/site.pyc
/usr/lib64/python2.7/site.pyo

多个安装将会有类似这样的输出:

/root/Python-2.7.6/Lib/site.py
/root/Python-2.7.6/Lib/site.pyc
/root/Python-2.7.6/Lib/site.pyo
/root/Python-2.7.6/Lib/test/test_site.py
/usr/lib/python2.6/site-packages/site.py
/usr/lib/python2.6/site-packages/site.pyc
/usr/lib/python2.6/site-packages/site.pyo
/usr/lib64/python2.6/site.py
/usr/lib64/python2.6/site.pyc
/usr/lib64/python2.6/site.pyo
/usr/local/lib/python2.7/site.py
/usr/local/lib/python2.7/site.pyc
/usr/local/lib/python2.7/site.pyo
/usr/local/lib/python2.7/test/test_site.py
/usr/local/lib/python2.7/test/test_site.pyc
/usr/local/lib/python2.7/test/test_site.pyo

对于bash脚本,这将是最简单的方法:

# In the form major.minor.micro e.g. '3.6.8'
# The second part excludes the 'Python ' prefix 
PYTHON_VERSION=`python3 --version | awk '{print $2}'`
echo "python3 version: ${PYTHON_VERSION}"
python3 version: 3.6.8

如果你只是需要专业。次要版本(例如3.6),您可以使用上述,然后选择前3个字符:

PYTHON_VERSION=`python3 --version | awk '{print $2}'`
echo "python3 major.minor: ${PYTHON_VERSION:0:3}"
python3 major.minor: 3.6

or

PYTHON_VERSION=`python3 -c 'import sys; print(str(sys.version_info[0])+"."+str(sys.version_info[1]))'`
echo "python3 major.minor: ${PYTHON_VERSION}"
python3 major.minor: 3.6

如果你安装了Python,那么检查版本号最简单的方法是在命令提示符中输入“Python”。它将显示版本号,以及它是运行在32位还是64位以及其他一些信息。对于某些应用程序,您可能希望使用最新版本,但有时不需要。这取决于您想要安装或使用什么包。

在命令提示符中键入:

python -V

如果你有pyenv

pyenv versions

要在Jupyter笔记本中检查Python版本,您可以使用:

from platform import python_version
print(python_version())

获取版本号,如下:

3.7.3

or:

import sys
print(sys.version)

为了获得更多的信息,如

3.7.3 (default, Apr 24 2019, 13:20:13) [MSC v.1915 32 bit (Intel)]

or:

sys.version_info

要获得大版本、小版本和微版本,如

sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)