如何检查哪个版本的Python解释器正在运行我的脚本?
当前回答
更简单的方法:
在Spyder中,启动一个新的“IPython控制台”,然后运行任何现有的脚本。
现在版本可以在控制台窗口打印的第一个输出中看到:
“Python 3.7.3(默认,Apr 24 2019, 15:29:51)…”
其他回答
可以这样写:
#!/usr/bin/env/python
import sys
if sys.version_info<(2,6,0):
sys.stderr.write("You need python 2.6 or later to run this script\n")
exit(1)
在你的脚本顶部。
请注意,根据脚本中的其他内容,比目标版本更老的python甚至可能无法加载脚本,因此不会报告此错误。作为一种变通方法,您可以在一个脚本中运行上述操作,该脚本导入了更现代的代码。
你最好的选择可能是这样的:
>>> import sys
>>> sys.version_info
(2, 6, 4, 'final', 0)
>>> if not sys.version_info[:2] == (2, 6):
... print "Error, I need python 2.6"
... else:
... from my_module import twoPointSixCode
>>>
此外,您总是可以在一个简单的try中包装导入,这应该会捕获语法错误。而且,按照@Heikki的观点,这段代码将与更老版本的python兼容:
>>> try:
... from my_module import twoPointSixCode
... except Exception:
... print "can't import, probably because your python is too old!"
>>>
对于windows,进入命令提示符并键入此命令以获取python版本:
python --version
Or
python -V
更简单的方法:
在Spyder中,启动一个新的“IPython控制台”,然后运行任何现有的脚本。
现在版本可以在控制台窗口打印的第一个输出中看到:
“Python 3.7.3(默认,Apr 24 2019, 15:29:51)…”
所有的答案都有深刻的见解
另一种方法是platform.python_version_tuple()
python3 -c “import platform; print(platform.python_version_tuple())”
(‘3’, ‘6’, ‘8’)
推荐文章
- 如何为python模块的argparse部分编写测试?
- 在python中是否有用于均方根误差(RMSE)的库函数?
- 如何从matplotlib (pyplot。Figure vs matplotlib。figure) (frameon=False matplotlib中有问题)
- django test app error -在创建测试数据库时出现错误:创建数据库的权限被拒绝
- 识别使用pip安装的python包的依赖关系
- 从字符串变量导入模块
- 如何删除Python中的前导空白?
- python中的assertEquals和assertEqual
- 如何保持Python打印不添加换行符或空格?
- 为什么Python的无穷散列中有π的数字?
- Python 3.7数据类中的类继承
- 如何在PyTorch中初始化权重?
- 计数唯一的值在一列熊猫数据框架像在Qlik?
- 使用Pandas将列转换为行
- 从matplotlib中的颜色映射中获取单个颜色