Sdílet prostřednictvím


Získání informací o balíčku Pythonu

Platí pro: SQL Server 2017 (14.x) a novější verze Azure SQL Managed Instance

Tento článek popisuje, jak získat informace o nainstalovaných balíčcích Pythonu, včetně verzí a umístění instalace, ve službě Machine Learning Services na SQL Serveru a v clusterech s velkými objemy dat. Ukázkové skripty Pythonu ukazují, jak vypsat informace o balíčku, jako je instalační cesta a verze.

Tento článek popisuje, jak získat informace o nainstalovaných balíčcích Pythonu, včetně verzí a umístění instalace, ve službě SQL Server Machine Learning Services. Ukázkové skripty Pythonu ukazují, jak vypsat informace o balíčku, jako je instalační cesta a verze.

Tento článek popisuje, jak získat informace o nainstalovaných balíčcích Pythonu, včetně verzí a umístění instalace, ve službě Azure SQL Managed Instance Machine Learning Services. Ukázkové skripty Pythonu ukazují, jak vypsat informace o balíčku, jako je instalační cesta a verze.

Výchozí umístění knihovny Pythonu

Při instalaci strojového učení s SQL Serverem se vytvoří jedna knihovna balíčků na úrovni instance pro každý jazyk, který instalujete. Knihovna instancí je zabezpečená složka zaregistrovaná v SQL Serveru.

Všechny skripty nebo kód, které běží v databázi na SQL Serveru, musí načítat funkce z knihovny instancí. SQL Server nemá přístup k balíčkům nainstalovaným v jiných knihovnách. To platí i pro vzdálené klienty: jakýkoli kód Pythonu spuštěný ve výpočetním kontextu serveru může používat pouze balíčky nainstalované v knihovně instancí. K ochraně prostředků serveru může výchozí instance knihovny upravovat pouze správce počítače.

Výchozí cesta binárních souborů pro Python je:

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

Předpokládá se výchozí instance SQL MSSQLSERVER. Pokud je SQL Server nainstalovaný jako uživatelem definovaná pojmenovaná instance, použije se místo toho daný název.

Výchozí cesta binárních souborů pro Python je:

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

Předpokládá se výchozí instance SQL MSSQLSERVER. Pokud je SQL Server nainstalovaný jako uživatelem definovaná pojmenovaná instance, použije se místo toho daný název.

Povolte externí skripty spuštěním následujících příkazů SQL:

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

Důležité

Spuštění příkazů sp_configure a RECONFIGURE ve službě Azure SQL Managed Instance způsobí restartování SQL Serveru, aby se nastavení RG projevilo. To může způsobit několik sekund nedostupnosti.

Pokud chcete ověřit výchozí knihovnu pro aktuální instanci, spusťte následující příkaz SQL. Tento příklad vrátí seznam složek zahrnutých v proměnné Pythonu sys.path . Seznam obsahuje aktuální adresář a cestu ke standardní knihovně.

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

Další informace o proměnné sys.path a jejím použití k nastavení vyhledávací cesty interpreta pro moduly najdete v tématu Cesta hledání modulu.

Poznámka:

Nepokoušejte se instalovat balíčky Pythonu přímo v knihovně balíčků SQL pomocí pip nebo podobných metod. Místo toho použijte sqlmlutils k instalaci balíčků v instanci SQL. Další informace naleznete v tématu Instalace balíčků Python pomocí sqlmlutils.

Výchozí balíčky Microsoft Pythonu

Následující balíčky Microsoft Pythonu se nainstalují se službou SQL Server Machine Learning Services, když během instalace vyberete funkci Pythonu.

Packages Version Description
revoscalepy 9.4.7 Používá se pro vzdálené výpočetní kontexty, streamování, paralelní spouštění funkcí rx pro import a transformaci dat, modelování, vizualizaci a analýzu.
microsoftml 9.4.7 Přidává algoritmy strojového učení v Pythonu.

Informace o tom, jakou verzi Pythonu obsahuje, najdete v tématu Verze Pythonu a R.

Aktualizace součástek

Balíčky Pythonu se ve výchozím nastavení aktualizují prostřednictvím aktualizací Service Pack a kumulativních aktualizací. Další balíčky a úplné upgrady verzí základních komponent Pythonu jsou možné pouze prostřednictvím upgradů produktů.

Výchozí opensourcové balíčky Pythonu

Když během instalace vyberete možnost jazyka Python, nainstaluje se distribuce Anaconda 4.2 (přes Python 3.5). Kromě knihoven kódu Pythonu standardní instalace zahrnuje ukázková data, testy jednotek a ukázkové skripty.

Důležité

Nikdy byste neměli ručně přepsat verzi Pythonu nainstalovanou pomocí SQL Serveru novějšími verzemi dostupnými na webu. Balíčky Microsoft Pythonu jsou založené na konkrétních verzích Anaconda. Úpravou instalace by mohlo dojít k jeho nestabilitě.

Výpis všech nainstalovaných balíčků Pythonu

Následující ukázkový skript zobrazí seznam všech balíčků Pythonu nainstalovaných v instanci SQL Serveru.

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)));

Vyhledání jednoho balíčku Pythonu

Pokud jste nainstalovali balíček Pythonu a chcete se ujistit, že je dostupný pro konkrétní instanci SQL Serveru, můžete spustit uloženou proceduru a vyhledat balíček a vrátit zprávy.

Například následující kód hledá scikit-learn balíček. Pokud se balíček najde, kód vytiskne verzi balíčku.

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")
'

Výsledek:

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

Zobrazení verze Pythonu

Následující příklad kódu vrátí verzi Pythonu nainstalovanou v instanci SQL Serveru.

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

Další kroky