我必须在Windows服务器上运行Python脚本。我怎么知道我用的是哪个版本的Python,这真的很重要吗?
我在考虑升级到最新版本的Python。
我必须在Windows服务器上运行Python脚本。我怎么知道我用的是哪个版本的Python,这真的很重要吗?
我在考虑升级到最新版本的Python。
当前回答
只需创建一个以.py结尾的文件,并将下面的代码粘贴进去并运行它。
#!/usr/bin/python3.6
import platform
import sys
def linux_dist():
try:
return platform.linux_distribution()
except:
return "N/A"
print("""Python version: %s
dist: %s
linux_distribution: %s
system: %s
machine: %s
platform: %s
uname: %s
version: %s
""" % (
sys.version.split('\n'),
str(platform.dist()),
linux_dist(),
platform.system(),
platform.machine(),
platform.platform(),
platform.uname(),
platform.version(),
))
当系统中安装了多个Python解释器版本时,执行以下命令。
在Linux操作系统中,在终端中运行:
ll /usr/bin/python*
在Windows操作系统中,在命令提示符中运行:
dir %LOCALAPPDATA%\Programs\Python
其他回答
在命令提示符中输入Windows中python的位置可能会告诉你安装了多个不同版本的python的位置,假设它们已经添加到你的路径中。
在命令提示符中输入python -V应该会显示版本。
如果你安装了Python,那么检查版本号最简单的方法是在命令提示符中输入“Python”。它将显示版本号,以及它是运行在32位还是64位以及其他一些信息。对于某些应用程序,您可能希望使用最新版本,但有时不需要。这取决于您想要安装或使用什么包。
虽然问题是“我使用的是哪个版本?”,但这可能并不是你需要知道的全部内容。您可能已经安装了其他版本,这可能会导致问题,特别是在安装其他模块时。这是我粗略地找出安装了什么版本的方法:
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
In [1]: import sys
In [2]: sys.version
2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Dec 6 2015, 18:08:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
In [3]: sys.version_info
sys.version_info(major=2, minor=7, micro=11, releaselevel='final', serial=0)
In [4]: sys.version_info >= (2,7)
Out[4]: True
In [5]: sys.version_info >= (3,)
Out[5]: False
>>> import sys; print('{0[0]}.{0[1]}'.format(sys.version_info))
3.5
从命令行开始:
python -c "import sys; print('{0[0]}.{0[1]}'.format(sys.version_info))"