我正在尝试获取我使用的特定几个模块的版本号。我可以存储在变量中的东西。
答案 0 :(得分:59)
使用pkg_resources(setuptools的一部分)。从PyPI安装的任何内容至少都有版本号。不需要额外的包/模块。
>>> import pkg_resources
>>> pkg_resources.get_distribution("simplegist").version
'0.3.2'
答案 1 :(得分:24)
来自Matt的广义回答,执行dir(YOURMODULE)
并查找__version__
,VERSION
或version
。大多数模块如__version__
,但我认为numpy
使用version.version
答案 2 :(得分:7)
我认为这取决于模块。例如,Django有一个可以从django.VERSION
获得的VERSION变量,sqlalchemy有一个__version__
变量,你可以从sqlalchemy.__version__
获得。
答案 3 :(得分:0)
某些模块(例如azure)不提供%some sample x values
xdata = rand(1000,1);
%some parameters a,b,c
a = 2;
b = 3;
c = 4;
%resulting y values + some noise
ydata=a*exp(b*xdata)+c+rand(1000,1)*10-5;
plot(xdata,ydata,'o')
%function to minimize. It returns the sum of squared distances between the polynom and the data.
fun = @(coefs) sum((coefs(1)*exp(coefs(2).*xdata)+coefs(3)-ydata).^2);
%nonlinear constaint to enforce c+b>a/2, which is the same as -(c+b-a/2)<0
nonlcon = @(coefs)deal(-(coefs(3)+coefs(2)-coefs(1)/2), 0);
% lower bounds to enforce b>0
lb = [-inf 0 -inf];
%starting values
x0 = [1 1 1];
%finally find the coefficients (which should approximately be the values of a, b and c)
coefs = fmincon(fun,x0,[],[],[],[],lb,[],nonlcon)
字符串。
如果使用pip安装软件包,则以下内容应该有效。
__version__
答案 4 :(得分:0)
以Python 3.8
,importlib.metadata
开头可以代替pkg_resources
,以提取通过pip
之类的工具安装的第三方软件包的版本:
from importlib.metadata import version
version('wheel')
# '0.33.4'
答案 5 :(得分:0)
import sys
import matplotlib as plt
import pandas as pd
import sklearn as skl
import seaborn as sns
print(sys.version)
print(plt.__version__)
print(pd.__version__)
print(skl.__version__)
print(sns.__version__)
上面的代码显示了各个模块的版本: 样本O / P:
3.7.1rc1(v3.7.1rc1:2064bcf6ce,2018年9月26日,14:21:39)[MSC v.1914 32位(Intel)] 3.1.0 0.24.2 0.21.2 0.9.0 (sys显示python版本)