Anteckning
Å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 2017 (14.x) och senare versioner
Azure SQL Managed Instance
Den här artikeln beskriver hur du hämtar information om installerade Python-paket, inklusive versioner och installationsplatser, i Machine Learning Services på SQL Server och i stordatakluster. Exempel på Python-skript visar hur du visar paketinformation som installationssökväg och version.
Den här artikeln beskriver hur du hämtar information om installerade Python-paket, inklusive versioner och installationsplatser, på SQL Server Machine Learning Services. Exempel på Python-skript visar hur du visar paketinformation som installationssökväg och version.
Den här artikeln beskriver hur du hämtar information om installerade Python-paket, inklusive versioner och installationsplatser, på Azure SQL Managed Instance Machine Learning Services. Exempel på Python-skript visar hur du visar paketinformation som installationssökväg och version.
Standardplats för Python-bibliotek
När du installerar maskininlärning med SQL Server skapas ett enda paketbibliotek på instansnivå för varje språk som du installerar. Instansbiblioteket är en skyddad mapp som registrerats med SQL Server.
Alla skript eller kod som körs i databasen på SQL Server måste läsa in funktioner från instansbiblioteket. SQL Server kan inte komma åt paket som är installerade i andra bibliotek. Detta gäller även för fjärrklienter: All Python-kod som körs i serverberäkningskontexten kan bara använda paket som är installerade i instansbiblioteket. För att skydda servertillgångar kan standardinstansbiblioteket endast ändras av en datoradministratör.
Standardsökvägen för binärfilerna för Python är:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES
Detta förutsätter sql-standardinstansen MSSQLSERVER. Om SQL Server installeras som en användardefinierad namngiven instans används det angivna namnet i stället.
Standardsökvägen för binärfilerna för Python är:
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES
Detta förutsätter sql-standardinstansen MSSQLSERVER. Om SQL Server installeras som en användardefinierad namngiven instans används det angivna namnet i stället.
Aktivera externa skript genom att köra följande SQL-kommandon:
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH override;
Viktigt!
När du kör kommandona sp_configure och RECONFIGURE i Azure SQL Managed Instance utlöses en omstart av SQL-servern för att RG-inställningarna ska börja gälla. Detta kan orsaka några sekunders otillgänglighet.
Kör följande SQL-instruktion om du vill verifiera standardbiblioteket för den aktuella instansen. Det här exemplet returnerar listan över mappar som ingår i Python-variabeln sys.path . Listan innehåller den aktuella katalogen och standardbibliotekssökvägen.
EXECUTE sp_execute_external_script
@language =N'Python',
@script=N'import sys; print("\n".join(sys.path))'
Mer information om variabeln sys.path och hur den används för att ange tolkens sökväg för moduler finns i Sökvägen till modulen.
Anmärkning
Försök inte installera Python-paket direkt i SQL-paketbiblioteket med pip eller liknande metoder. Använd i stället sqlmlutils för att installera paket i en SQL-instans. Mer information finns i Installera Python-paket med sqlmlutils.
Standardpaket för Microsoft Python
Följande Microsoft Python-paket installeras med SQL Server Machine Learning Services när du väljer Python-funktionen under installationen.
| Paket | Utgåva | Description |
|---|---|---|
| revoscalepy | 9.4.7 | Används för fjärrberäkningskontexter, strömning, parallell körning av rx-funktioner för dataimport och transformering, modellering, visualisering och analys. |
| microsoftml | 9.4.7 | Lägger till maskininlärningsalgoritmer i Python. |
Information om vilken version av Python som ingår finns i Python- och R-versioner.
Komponentuppgraderingar
Som standard uppdateras Python-paket via Service Pack och kumulativa uppdateringar. Ytterligare paket och fullständiga versionsuppgraderingar av python-kärnkomponenter är endast möjliga via produktuppgraderingar.
Standardpaket för Python med öppen källkod
När du väljer python-språkalternativet under installationen installeras Anaconda 4.2-distributionen (via Python 3.5). Utöver Python-kodbibliotek innehåller standardinstallationen exempeldata, enhetstester och exempelskript.
Viktigt!
Du bör aldrig manuellt skriva över versionen av Python som installerats av installationsprogrammet för SQL Server med nyare versioner som finns tillgängliga på webben. Microsoft Python-paket baseras på specifika versioner av Anaconda. Om du ändrar installationen kan den destabiliseras.
Visa en lista över alla installerade Python-paket
Följande exempelskript visar en lista över alla Python-paket som är installerade i SQL Server-instansen.
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)));
Hitta ett enda Python-paket
Om du har installerat ett Python-paket och vill se till att det är tillgängligt för en viss SQL Server-instans kan du köra en lagrad procedur för att leta efter paketet och returnera meddelanden.
Till exempel söker följande kod efter scikit-learn-paketet.
Om paketet hittas skriver koden ut paketversionen.
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")
'
Resultat:
STDOUT message(s) from external script: Package scikit-learn is version 0.20.2
Visa versionen av Python
Följande exempelkod returnerar den version av Python som är installerad i SQL Server-instansen.
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
import sys
print(sys.version)
'