我正在使用pyodbc
,我想知道我正在使用的版本。显然,我不能使用pyodbc.\uuuuu version\uuuu
,因为可能没有设置变量。
我还能怎么计算包的版本?
要获取有关模块的简短报告,包括其版本,请运行:
pip显示pyodbc
在命令提示符(例如:Windowscmd
)。这甚至适用于没有__version__属性的模块。
它确实有版本信息,只需使用。version
:
In [4]: pyodbc.version
Out[4]: '3.0.10'
pip show命令也会为您提供:
In [54]: pip.main(["show","pyodbc"])
---
Metadata-Version: 1.1
Name: pyodbc
Version: 3.0.10
Summary: DB API Module for ODBC
Home-page: http://code.google.com/p/pyodbc
Author: Michael Kleehammer
Author-email: michael@kleehammer.com
License: MIT
Location: /usr/local/lib/python2.7/dist-packages
Requires:
Classifiers:
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
Intended Audience :: System Administrators
License :: OSI Approved :: MIT License
Operating System :: Microsoft :: Windows
Operating System :: POSIX
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 3
Topic :: Database
Out[54]: 0
您可以重定向stdout并解析输出:
import pip
import sys
if sys.version_info.major >= 3:
from io import StringIO
else:
from StringIO import StringIO
def get_version(package):
f = StringIO()
sys.stdout = f
pip.main(["show", package])
sys.stdout = sys.__stdout__
return next((line.split(":", 1)[1].strip()
for line in f.getvalue().splitlines() if line.startswith("Version")), "No match")
但一种更简单的方法是使用pkg_资源
,如果您查看要显示的源代码,您可以看到它是如何收集的:
from pip._vendor import pkg_resources
def get_version(package):
package = package.lower()
return next((p.version for p in pkg_resources.working_set if p.project_name.lower() == package), "No match")
要使用它,只需传递包名:
In [57]: get_version("pyodbc")
Out[57]: '3.0.10'
In [58]: get_version("pandas")
Out[58]: '0.17.1'
In [59]: get_version("requests")
Out[59]: '2.9.1'
In [60]: get_version("foobar")
Out[60]: 'No match'
您可以使用与show命令类似的逻辑轻松地扩展它以获得不同的信息。
问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: MySQL错误1153-收到的数据包大于’max_allowed_packet’字节 嗨,我收到错误消息: 但是我没有对我的源代码进行任何更改,托管表明它们在服务器设置方面没有进行任何更改。 我不知道发生了什么 但是我试图找到原因。 那么,如何通过php脚本检查mysql变量? 并且可以在源代码中进行设置吗? 问题答案: 在
问题内容: 我想检查一个变量是否存在。现在我正在做这样的事情: 是否有其他方法无一例外? 问题答案: 要检查是否存在局部变量: 要检查是否存在全局变量: 要检查对象是否具有属性:
问题内容: 我想检查变量是否已定义。例如,以下引发未定义的错误 如何捕获此错误? 问题答案: 在JavaScript中,是一个对象。不存在的事物还有另一个价值,。DOM 在几乎所有无法在文档中找到某些结构的情况下都会返回,但是在JavaScript本身中是所使用的值。 第二,不,没有直接对等的内容。如果您确实要专门检查,请执行以下操作: 如果要检查变量是否存在,那只能用/ 来完成,因为它将未声明的
本文向大家介绍如何在JavaScript中检查未定义的变量?,包括了如何在JavaScript中检查未定义的变量?的使用技巧和注意事项,需要的朋友参考一下 要检查变量是否为“未定义”,您需要使用以下命令进行检查。如果结果为“ false”,则表示未定义变量。在这里,变量结果为“ True”- 示例
我使用安装了Python模块和: 如何从命令行检查它们的版本?
问题内容: 我需要在python脚本中设置一些环境变量,并且我希望从python调用的所有其他脚本(shell脚本)(将是子进程)来查看设置的环境变量。该值为数字。 如果这样做,它会抱怨说1必须是字符串。我也想知道一旦设置它,如何在python(在脚本的后半部分)中读取环境变量。 问题答案: 你可能需要考虑其他方面的代码健壮性; 当你将整数值的变量存储为环境变量时,请尝试 然后为了进行检索,请考虑