Partilhar via


Obter informações do pacote Python

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores Instância Gerenciada SQL do Azure

Este artigo descreve como obter informações sobre pacotes Python instalados, incluindo versões e locais de instalação, em Serviços de Aprendizado de Máquina no SQL Server e em Clusters de Big Data. Exemplos de scripts Python mostram como listar informações do pacote, como caminho de instalação e versão.

Este artigo descreve como obter informações sobre pacotes Python instalados, incluindo versões e locais de instalação, no SQL Server Machine Learning Services. Exemplos de scripts Python mostram como listar informações do pacote, como caminho de instalação e versão.

Este artigo descreve como obter informações sobre pacotes Python instalados, incluindo versões e locais de instalação, nos Serviços de Aprendizado de Máquina de Instância Gerenciada SQL do Azure. Exemplos de scripts Python mostram como listar informações do pacote, como caminho de instalação e versão.

Local padrão da biblioteca Python

Quando você instala o aprendizado de máquina com o SQL Server, uma única biblioteca de pacotes é criada no nível da instância para cada idioma instalado. A biblioteca de instâncias é uma pasta segura registrada no SQL Server.

Todo o script ou código executado no banco de dados no SQL Server deve carregar funções da biblioteca de instâncias. O SQL Server não pode acessar pacotes instalados em outras bibliotecas. Isso também se aplica a clientes remotos: qualquer código Python em execução no contexto de computação do servidor só pode usar pacotes instalados na biblioteca de instâncias. Para proteger os ativos do servidor, a biblioteca de instâncias padrão só pode ser modificada por um administrador do computador.

O caminho padrão dos binários para Python é:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES

Isso pressupõe a instância SQL padrão, MSSQLSERVER. Se o SQL Server for instalado como uma instância nomeada definida pelo usuário, o nome fornecido será usado.

O caminho padrão dos binários para Python é:

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES

Isso pressupõe a instância SQL padrão, MSSQLSERVER. Se o SQL Server for instalado como uma instância nomeada definida pelo usuário, o nome fornecido será usado.

Habilite scripts externos executando os seguintes comandos SQL:

sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH override;

Importante

Na Instância Gerenciada SQL do Azure, a execução dos comandos sp_configure e RECONFIGURE aciona uma reinicialização do SQL Server para que as configurações de RG entrem em vigor. Isso pode causar alguns segundos de indisponibilidade.

Execute a seguinte instrução SQL se desejar verificar a biblioteca padrão para a instância atual. Este exemplo retorna a lista de pastas incluídas na variável Python sys.path . A lista inclui o diretório atual e o caminho da biblioteca padrão.

EXECUTE sp_execute_external_script
  @language =N'Python',
  @script=N'import sys; print("\n".join(sys.path))'

Para obter mais informações sobre a variável sys.path e como ela é usada para definir o caminho de pesquisa do intérprete para módulos, consulte O caminho de pesquisa do módulo.

Observação

Não tente instalar pacotes Python diretamente na biblioteca de pacotes SQL usando pip ou métodos semelhantes. Em vez disso, use sqlmlutils para instalar pacotes em uma instância SQL. Para obter mais informações, consulte Instalar pacotes Python com sqlmlutils.

Pacotes padrão do Microsoft Python

Os seguintes pacotes do Microsoft Python são instalados com o SQL Server Machine Learning Services quando você seleciona o recurso Python durante a instalação.

Packages Versão Description
Revoscalepy 9.4.7 Usado para contextos de computação remota, streaming, execução paralela de funções rx para importação e transformação de dados, modelagem, visualização e análise.
MicrosoftML 9.4.7 Adiciona algoritmos de aprendizado de máquina em Python.

Para obter informações sobre qual versão do Python está incluída, consulte Versões Python e R.

Atualizações de componentes

Por padrão, os pacotes Python são atualizados por meio de service packs e atualizações cumulativas. Pacotes adicionais e atualizações de versão completa dos principais componentes Python só são possíveis por meio de atualizações de produtos.

Pacotes Python de código aberto padrão

Quando você seleciona a opção de linguagem Python durante a instalação, a distribuição Anaconda 4.2 (sobre Python 3.5) é instalada. Além das bibliotecas de código Python, a instalação padrão inclui dados de exemplo, testes de unidade e scripts de exemplo.

Importante

Você nunca deve substituir manualmente a versão do Python instalada pela Instalação do SQL Server por versões mais recentes na Web. Os pacotes Microsoft Python são baseados em versões específicas do Anaconda. Modificar sua instalação pode desestabilizá-lo.

Listar todos os pacotes Python instalados

O script de exemplo a seguir exibe uma lista de todos os pacotes Python instalados na instância do SQL Server.

EXECUTE sp_execute_external_script
  @language = N'Python',
  @script = N'
import pkg_resources
import pandas
OutputDataSet = pandas.DataFrame(sorted([(i.key, i.version) for i in pkg_resources.working_set]))'
WITH result sets((Package NVARCHAR(128), Version NVARCHAR(128)));

Encontre um único pacote Python

Se você instalou um pacote Python e deseja ter certeza de que ele está disponível para uma instância específica do SQL Server, você pode executar um procedimento armazenado para procurar o pacote e retornar mensagens.

Por exemplo, o código a seguir procura o scikit-learn pacote. Se o pacote for encontrado, o código imprimirá a versão do pacote.

EXECUTE sp_execute_external_script
  @language = N'Python',
  @script = N'
import pkg_resources
pkg_name = "scikit-learn"
try:
    version = pkg_resources.get_distribution(pkg_name).version
    print("Package " + pkg_name + " is version " + version)
except:
    print("Package " + pkg_name + " not found")
'

Resultado:

STDOUT message(s) from external script: Package scikit-learn is version 0.20.2

Veja a versão do Python

O código de exemplo a seguir retorna a versão do Python instalada na instância do SQL Server.

EXECUTE sp_execute_external_script
  @language = N'Python',
  @script = N'
import sys
print(sys.version)
'

Próximos passos