Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na: SQL Server 2019 (15.x) a novější verze
Azure SQL Managed Instance
Tento článek popisuje, jak používat funkce v balíčku sqlmlutils k instalaci nových balíčků Python do instance Machine Learning Services na SQL Server. Balíčky, které nainstalujete v Python skriptech, které běží v databázi můžete použít přes příkaz sp_execute_external_script T-SQL.
Tento článek popisuje, jak pomocí funkcí v balíčku sqlmlutils nainstalovat nové balíčky Pythonu do instance služby Azure SQL Managed Instance Machine Learning Services. Balíčky, které nainstalujete v Python skriptech, které běží v databázi můžete použít přes příkaz sp_execute_external_script T-SQL.
Poznámka:
Nemůžete aktualizovat ani odinstalovat balíčky, které jsou předinstalované na instanci SQL Managed Instance Machine Learning Services. Pokud chcete zobrazit seznam aktuálně nainstalovaných balíčků, podívejte se na seznam všech nainstalovaných balíčků Pythonu.
Další informace o umístění balíčku a instalačních cestách najdete v tématu Získání informací o balíčku Pythonu.
Poznámka:
Použijte balíček sqlmlutils popsaný v tomto článku k přidání Python balíčků do SQL Server 2019 nebo novějšího. Informace o SQL Serveru 2017 a starších verzích najdete v tématu Instalace balíčků pomocí nástrojů Pythonu.
Požadavky
- SQL Server Machine Learning Služby nainstalované s možností Python jazyka.
Python nainstalovaný na klientském počítači, který používáte k připojení k SQL Server. Můžete spouštět skripty přímo z příkazové řádky, nebo použít Python vývojové prostředí, například Visual Studio Code s rozšířením Python.
Verze Python na klientském počítači musí odpovídat verzi Python na serveru a balíčky, které nainstalujete, musí být kompatibilní s verzí Python, kterou máte. Informace o tom, která verze Pythonu je součástí každé verze SQL Serveru, najdete v tématu Verze Pythonu a jazyka R.
Pokud chcete ověřit verzi Pythonu v konkrétní instanci SQL Serveru, použijte následující příkaz T-SQL.
EXECUTE sp_execute_external_script @language = N'Python', @script = N' import sys print(sys.version) 'MSSQL rozšíření pro Visual Studio Code nainstalované na klientském počítači, který používáte k připojení k SQL Server. Můžete použít jiné nástroje pro správu databáze nebo dotazy.
Ostatní úvahy
Knihovna Python balíčků je ve složce Program Files ve vaší instanci SQL Server. Ve výchozím nastavení instalace do této složky vyžaduje administrátorská oprávnění. Další informace naleznete v tématu Umístění knihovny balíčků.
Instalace balíčku je specifická pro instanci SQL, databázi a uživatele, které zadáte v informacích o připojení, které zadáte nástroji sqlmlutils. Pro použití balíčku ve více SQL instancích nebo databázích, nebo pro různé uživatele, nainstalujte balíček pro každou z nich. Výjimkou je balíček nainstalovaný ve veřejném rozsahu, který je sdílen se všemi uživateli. sqlmlutils volí veřejný rozsah ve výchozím nastavení pouze tehdy, když se připojíte jako člen
sysadminrole serveru, a jinak soukromý rozsah. Pro instalaci do veřejného rozsahu jako další princip přejdětescope=sqlmlutils.Scope.public_scope()doinstall, což vyžaduje databázovou rolidb_owner. Pokud uživatel nainstaluje novější verzi veřejného balíčku, veřejný balíček není ovlivněn, ale má přístup k té novější verzi.Před přidáním balíčku zvažte, jestli je balíček vhodný pro prostředí SQL Serveru.
Používejte Python v databázi pro úkoly, které těží z těsné integrace s databázovým enginem, například strojové učení, místo úloh, které pouze dotazují databázi.
Pokud přidáte balíčky, které na server vyvíjejí příliš velkou výpočetní zátěž, výkon tím trpí.
V zabezpečeném prostředí SQL Serveru se vyhněte následujícím typům balíčků:
- Balíčky, které vyžadují síťový přístup
- Balíčky, které vyžadují přístup systému souborů se zvýšenými oprávněními
- Balíčky používané pro vývoj webu nebo jiné úlohy, které nemají prospěch spuštěním na SQL Serveru
Nemůžeš nainstalovat Python balíček tensorflow pomocí sqlmlutils. Další informace a alternativní řešení najdete v tématu Známé problémy ve službě SQL Server Machine Learning Services.
Instalace nástroje sqlmlutils do klientského počítače
Pokud chcete použít sqlmlutils, musíte ho nejdřív nainstalovat do klientského počítače, který používáte pro připojení k SQL Serveru.
Online instalace nástrojů sqlmlutils
Pokud má klientský počítač přístup k internetu, nainstalujte sqlmlutils pomocí pip:
pip install sqlmlutils
Instalace nástrojů sqlmlutils offline
Pokud klientský počítač nemá přístup k internetu, nainstalujte sqlmlutils ze staženého souboru:
Ujistěte se, že máte nainstalovaný PIP . Další informace naleznete v části instalace pip.
Stáhněte si nejnovější soubor sqlmlutils ze stránky sqlmlutils releases na klientský počítač. Nerozzipujte soubor.
Otevřete příkazový řádek a spusťte následující příkaz pro instalaci balíčku sqlmlutils . Nahraďte celou cestu souborem, který jste stáhli. Tento příklad předpokládá, že stažený soubor je .
c:\temp\sqlmlutils-1.0.0.zippip install --upgrade --upgrade-strategy only-if-needed c:\temp\sqlmlutils-1.0.0.zip
Přidání balíčku Pythonu na SQL Serveru
Použitím sqlmlutils můžete přidat Python balíčky do SQL instance a pak je použít v Python kódu, který v této instanci běží. sqlmlutils používá CREATE EXTERNAL LIBRARY k instalaci balíčku a každé jeho závislosti.
Následující příklad přidává balíček text-tools do SQL Server.
Přidání balíčku online
Pokud má klientský počítač, který používáte k připojení k SQL Server, přístup k internetu, můžete pomocí sqlmlutils najít balíček text-tools a případné závislosti online a pak balíček nainstalovat na instanci SQL Server na dálku.
Na klientském počítači otevřete Python nebo prostředí Pythonu.
K instalaci balíčku text-tools použijte následující příkazy. Nahraďte vlastní informace o připojení k databázi SQL Serveru (pokud používáte ověřování systému Windows, nepotřebujete tyto
uidparametry apwdparametry).
Na klientském počítači otevřete Python nebo prostředí Pythonu.
K instalaci balíčku text-tools použijte následující příkazy. Nahraďte vlastní informace o připojení k databázi SQL Serveru. Také předejte název ODBC ovladače nainstalovaného na klientském počítači, například
driver="ODBC Driver 18 for SQL Server", protože název ovladače, který sqlmlutils používá, se ve výchozím nastavení vztahuje pouze na Windows.
import sqlmlutils
connection = sqlmlutils.ConnectionInfo(server="server", database="database", uid="username", pwd="password")
sqlmlutils.SQLPackageManager(connection).install("text-tools")
Přidejte balíček offline
Pokud klientský počítač, který používáte k připojení k SQL Server, nemá internetové připojení, použijte pip na počítači, který ho má, a stáhněte balíček do lokální složky. Poté složku zkopírujete na klientský počítač a nainstalujete balíček offline.
Poznámka:
Tento postup funguje pro balíček bez závislostí.
SQLPackageManager.install() řeší závislosti od PyPI i když předáte lokální .whl soubor, takže pro přidání balíčku s dependenci použijte klientský počítač s přístupem k internetu a klikněte na Add the package online.
Na počítači s přístupem k internetu
Otevřete příkazový řádek a spuštěním následujícího příkazu vytvořte místní složku, která obsahuje balíček text-tools . Tento příklad vytvoří složku
c:\temp\text-tools.pip download text-tools -d c:\temp\text-toolstext-toolsZkopírujte složku do klientského počítače. Následující příklad předpokládá, že jste ho zkopírovali doc:\temp\packages\text-tools.
Na klientském počítači
Použijte sqlmlutils k instalaci balíčku (.whl souboru), který si pip stáhl do lokální složky.
V tomto příkladu textové nástroje nemají žádné závislosti, takže složka text-tools obsahuje jeden soubor.
Spusťte následující skript Pythonu. Nahraďte skutečnou cestu k souboru a název balíčku a vlastní informace o připojení k databázi SQL Serveru (pokud používáte ověřování systému Windows, nepotřebujete tyto uid parametry a pwd parametry).
Spusťte následující skript Pythonu. Nahraďte skutečnou cestu k souboru a název balíčku a vlastní informace o připojení k databázi SQL Serveru. Také předejte název ODBC ovladače nainstalovaného na klientském počítači, například driver="ODBC Driver 18 for SQL Server", protože název ovladače, který sqlmlutils používá, se ve výchozím nastavení vztahuje pouze na Windows.
import sqlmlutils
connection = sqlmlutils.ConnectionInfo(server="yourserver", database="yourdatabase", uid="username", pwd="password")
sqlmlutils.SQLPackageManager(connection).install("text_tools-1.0.0-py3-none-any.whl")
Použijte balíček
Balíček teď můžete použít ve skriptu Pythonu na SQL Serveru. Například:
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
from text_tools.finders import find_best_string
corpus = "Lorem Ipsum text"
query = "Ipsum"
first_match = find_best_string(query, corpus)
print(first_match)
'
Odebrání balíčku z SQL Serveru
Pro odstranění balíčku text-tools spusťte následující příkaz Python na klientském počítači se stejnou proměnnou připojení, kterou jste dříve definovali.
sqlmlutils.SQLPackageManager(connection).uninstall("text-tools")
Další funkce sqlmlutils
Balíček sqlmlutils obsahuje několik funkcí pro správu Python balíčků a pro vytváření, správu a spouštění uložených procedur a dotazů v SQL Server. Pro více informací viz sqlmlutils Python README soubor.
Informace o všech funkcích sqlmlutils najdete v nápovědě k Pythonu . Například:
import sqlmlutils
help(sqlmlutils.SQLPackageManager.install)