Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2019 (15.x) och senare versioner
Azure SQL Managed Instance
Den här artikeln beskriver hur man använder funktioner i sqlmlutils-paketet för att installera nya Python-paket till en instans av strojové učenie Services på SQL Server. Du kan använda de paket du installerar i Python skript som körs i databasen via sp_execute_external_script T-SQL-satsen.
Den här artikeln beskriver hur du använder funktioner i paketet sqlmlutils för att installera nya Python-paket till en instans av Azure SQL Managed Instance strojové učenie Services. Du kan använda de paket du installerar i Python skript som körs i databasen via sp_execute_external_script T-SQL-satsen.
Anmärkning
Du kan inte uppdatera eller avinstallera paket som är förinstallerade på en instans av SQL Managed Instance strojové učenie Services. En lista över paket som är installerade finns i Lista alla installerade Python-paket.
Mer information om paketplats och installationssökvägar finns i Hämta Python-paketinformation.
Anmärkning
Använd sqlmlutils-paketet som beskrivs i denna artikel för att lägga till Python-paket i SQL Server 2019 eller senare. Information om SQL Server 2017 och tidigare finns i Installera paket med Python-verktyg.
Förutsättningar
- SQL Server strojové učenie Tjänster installerade med Python-språkalternativet.
Python installerat på klientdatorn du använder för att ansluta till SQL Server. Du kan köra skript från kommandoraden eller använda en Python-utvecklingsmiljö som Visual Studio Code med Python-tillägget.
Versionen av Python på klientdatorn måste matcha versionen av Python på servern, och paketen du installerar måste vara kompatibla med den version av Python du har. Information om vilken version av Python som ingår i varje SQL Server-version finns i Python- och R-versioner.
Om du vill verifiera versionen av Python på en viss SQL Server-instans använder du följande T-SQL-kommando.
EXECUTE sp_execute_external_script @language = N'Python', @script = N' import sys print(sys.version) 'MSSQL-tillägg för Visual Studio Code installerat på klientdatorn du använder för att ansluta till SQL Server. Du kan använda andra databashanterings- eller frågeverktyg.
Andra överväganden
Python-paketbiblioteket finns i Program Files-mappen i din SQL Server-instans. Som standard kräver installation i denna mapp administratörsbehörigheter. Mer information finns i Plats för paketbibliotek.
Paketinstallationen är specifik för sql-instansen, databasen och användaren som du anger i anslutningsinformationen som du anger till sqlmlutils. För att använda paketet i flera SQL-instanser eller databaser, eller för olika användare, installera paketet för varje enhet. Undantaget är ett paket installerat i public scope, som delas med alla användare. sqlmlutils väljer som standard offentlig omfång endast när du ansluter som medlem i serverrollen
sysadmin, och annars privat omfång. För att installera i public scope som en annan principal, gå tillscope=sqlmlutils.Scope.public_scope()install, vilket kräverdb_ownerdatabasrollen. Om en användare installerar en nyare version av ett publikt paket påverkas inte det publika paketet, men användaren har tillgång till den nyare versionen.Innan du lägger till ett paket bör du överväga om paketet passar bra för SQL Server-miljön.
Använd Python i databasen för uppgifter som gynnas av en nära integration med databasmotorn, såsom maskininlärning, istället för uppgifter som bara frågar databasen.
Om du lägger till paket som lägger för mycket beräkningstryck på servern försämras prestandan.
På en härdad SQL Server-miljö, undvik följande typer av paket:
- Paket som kräver nätverksåtkomst
- Paket som kräver förhöjd filsystemåtkomst
- Paket som används för webbutveckling eller andra uppgifter som inte drar nytta av att köras i SQL Server
Du kan inte installera Python-paketet tensorflow med sqlmlutils. Mer information och en lösning finns i Kända problem i SQL Server strojové učenie Services.
Installera sqlmlutils på klientdatorn
Om du vill använda sqlmlutils måste du först installera det på den klientdator som du använder för att ansluta till SQL Server.
Installera sqlmlutils online
Om klientdatorn har internetåtkomst, installera sqlmlutils genom att använda pip:
pip install sqlmlutils
Installera sqlmlutils offline
Om klientdatorn inte har internetåtkomst, installera sqlmlutils från en nedladdad fil:
Se till att du har PIP installerat. För mer information, se installation av pip.
Ladda ner den senaste sqlmlutils-filen från sqlmlutils-releasesidan till klientdatorn. Packa inte upp filen.
Öppna en kommandoprompt och kör följande kommando för att installera sqlmlutils-paketet . Byt ut hela sökvägen till filen du laddade ner. Detta exempel antar att den nedladdade filen är
c:\temp\sqlmlutils-1.0.0.zip.pip install --upgrade --upgrade-strategy only-if-needed c:\temp\sqlmlutils-1.0.0.zip
Lägga till ett Python-paket på SQL Server
Genom att använda sqlmlutils kan du lägga till Python-paket i en SQL-instans och sedan använda dem i Python-kod som körs i den instansen. sqlmlutils används CREATE EXTERNAL LIBRARY för att installera paketet och var och en av dess beroenden.
Följande exempel lägger till text-tools-paketet i SQL Server.
Lägg till paketet online
Om klientdatorn du använder för att ansluta till SQL Server har internetåtkomst kan du använda sqlmlutils för att hitta text-tools-paketet och eventuella beroenden online, och sedan installera paketet på en SQL Server-instans på distans.
Öppna Python eller en Python-miljö på klientdatorn.
Använd följande kommandon för att installera textverktygspaketet . Ersätt din egen anslutningsinformation för SQL Server-databasen (om du använder Windows-autentisering behöver du inte parametrarna
uidochpwd).
Öppna Python eller en Python-miljö på klientdatorn.
Använd följande kommandon för att installera textverktygspaketet . Ersätt din egen anslutningsinformation för SQL Server-databasen. Skicka också namnet på en ODBC-drivrutin installerad på klientdatorn, till exempel
driver="ODBC Driver 18 for SQL Server", eftersom drivrutinsnamnet som sqlmlutils använder som standard gäller endast för Windows.
import sqlmlutils
connection = sqlmlutils.ConnectionInfo(server="server", database="database", uid="username", pwd="password")
sqlmlutils.SQLPackageManager(connection).install("text-tools")
Lägg till paketet offline
Om klientdatorn du använder för att ansluta till SQL Server inte har internetuppkoppling, använd pip på en dator som har det för att ladda ner paketet till en lokal mapp. Du kopierar sedan mappen till klientdatorn och installerar paketet offline.
Anmärkning
Denna procedur fungerar för ett paket som inte har några beroenden.
SQLPackageManager.install() löser beroenden från PyPI även när du skickar en lokal .whl fil, så för att lägga till ett paket som har beroenden, använd en klientdator med internetåtkomst och följ Add the package online.
På en dator med internetuppkoppling
Öppna en kommandotolk och kör följande kommando för att skapa en lokal mapp som innehåller textverktygspaketet . I det här exemplet skapas mappen
c:\temp\text-tools.pip download text-tools -d c:\temp\text-toolstext-toolsKopiera mappen till klientdatorn. I följande exempel förutsätter vi att du kopierade det tillc:\temp\packages\text-tools.
På klientdatorn
Använd sqlmlutils för att installera paketet (.whl filen) som pip laddade ner till den lokala mappen.
I detta exempel har text-tools inga beroenden, så text-tools mappen innehåller en enda fil.
Kör följande Python-skript. Ersätt den faktiska filsökvägen och namnet på paketet och din egen SQL Server-databasanslutningsinformation (om du använder Windows-autentisering behöver du inte parametrarna uid och pwd ).
Kör följande Python-skript. Ersätt den faktiska filsökvägen och namnet på paketet och din egen SQL Server-databasanslutningsinformation. Skicka också namnet på en ODBC-drivrutin installerad på klientdatorn, till exempel driver="ODBC Driver 18 for SQL Server", eftersom drivrutinsnamnet som sqlmlutils använder som standard gäller endast för 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")
Använd paketet
Nu kan du använda paketet i ett Python-skript i SQL Server. Till exempel:
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)
'
Ta bort paketet från SQL Server
För att ta bort text-tools-paketet, kör följande Python-kommando på klientdatorn, med samma anslutningsvariabel som du definierade tidigare.
sqlmlutils.SQLPackageManager(connection).uninstall("text-tools")
Fler sqlmlutils-funktioner
sqlmlutils-paketet innehåller flera funktioner för att hantera Python-paket samt för att skapa, hantera och köra lagrade procedurer och frågor i en SQL Server. För mer information, se sqlmlutils Python README-fil.
Information om valfri sqlmlutils-funktion finns i hjälpfunktionen Python. Till exempel:
import sqlmlutils
help(sqlmlutils.SQLPackageManager.install)