get_packages_version_fl()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer
get_packages_version_fl()
é uma função definida pelo usuário que recupera as versões do mecanismo Python e os pacotes do plug-in python() embutido.
A função aceita uma matriz dinâmica contendo os nomes dos pacotes a serem verificados e retorna suas respectivas versões e a versão do mecanismo Python.
Pré-requisitos
- O plug-in Python deve ser habilitado no cluster. Isso é necessário para o Python embutido usado na função.
- O plug-in Python deve estar habilitado no banco de dados. Isso é necessário para o Python embutido usado na função.
Sintaxe
T | invoke get_packages_version_fl(
pacotes)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
pacotes | dynamic |
Uma matriz dinâmica contendo os nomes dos pacotes. O padrão é uma lista vazia para recuperar apenas a versão do mecanismo Python. |
Definição de função
Você pode definir a função inserindo seu código como uma função definida por consulta ou criando-a como uma função armazenada em seu banco de dados, da seguinte maneira:
Defina a função usando a instrução let a seguir. Nenhuma permissão é necessária.
Importante
Uma instrução let não pode ser executada sozinha. Ele deve ser seguido por uma instrução de expressão tabular. Para executar um exemplo funcional de get_packages_version_fl()
, consulte Exemplo.
let get_packages_version_fl = (packages:dynamic=dynamic([]))
{
let kwargs = pack('packages', packages);
let code =
```if 1:
import importlib
import sys
packages = kargs["packages"]
result = pd.DataFrame(columns=["name", "ver"])
for i in range(len(packages)):
result.loc[i, "name"] = packages[i]
try:
m = importlib.import_module(packages[i])
result.loc[i, "ver"] = m.__version__ if hasattr(m, "__version__") else "missing __version__ attribute"
except Exception as ex:
result.loc[i, "ver"] = "ERROR: " + (ex.msg if hasattr(ex, "msg") else "exception, no msg")
id = result.shape[0]
result.loc[id, "name"] = "Python"
result.loc[id, "ver"] = sys.version
```;
print 1
| evaluate python(typeof(name:string , ver:string), code, kwargs)
};
// Write your query to use the function here.
Exemplo
Para usar uma função definida por consulta, invoque-a após a definição da função inserida.
let get_packages_version_fl = (packages:dynamic=dynamic([]))
{
let kwargs = pack('packages', packages);
let code =
```if 1:
import importlib
import sys
packages = kargs["packages"]
result = pd.DataFrame(columns=["name", "ver"])
for i in range(len(packages)):
result.loc[i, "name"] = packages[i]
try:
m = importlib.import_module(packages[i])
result.loc[i, "ver"] = m.__version__ if hasattr(m, "__version__") else "missing __version__ attribute"
except Exception as ex:
result.loc[i, "ver"] = "ERROR: " + (ex.msg if hasattr(ex, "msg") else "exception, no msg")
id = result.shape[0]
result.loc[id, "name"] = "Python"
result.loc[id, "ver"] = sys.version
```;
print 1
| evaluate python(typeof(name:string , ver:string), code, kwargs)
};
get_packages_version_fl(pack_array('numpy', 'scipy', 'pandas', 'statsmodels', 'sklearn', 'onnxruntime', 'plotly'))
Saída
name | ver |
---|---|
numpy | 1.23.4 |
onnxruntime | 1.13.1 |
pandas | 1.5.1 |
plotly | 5.11.0 |
Python | 3.10.8 (tags/v3.10.8:aaaf517, 11 de outubro de 2022, 16:50:30) [MSC v.1933 64 bits (AMD64)] |
scipy | 1.9.3 |
sklearn | 1.1.3 |
statsmodels | 0.13.2 |