Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik: Sql Server 2017 (14.x) és újabb verziók
Felügyelt Azure SQL-példány
Ez a cikk bemutatja, hogyan lehet információkat szerezni a telepített Python-csomagokról, beleértve a verziókat és a telepítés helyeit az SQL Serveren futó Machine Learning Services és a Big Data-fürtök esetében. A Python-példaszkriptek bemutatják, hogyan listázhatja a csomaginformációkat, például a telepítési útvonalat és a verziót.
Ez a cikk bemutatja, hogyan kérhet le információkat az SQL Server Machine Learning Services telepített Python-csomagjairól, beleértve a verziókat és a telepítési helyeket. A Python-példaszkriptek bemutatják, hogyan listázhatja a csomaginformációkat, például a telepítési útvonalat és a verziót.
Ez a cikk bemutatja, hogyan kérhet le információkat a telepített Python-csomagokról, beleértve a verziókat és a telepítési helyeket az Azure SQL Managed Instance Machine Learning Servicesben. A Python-példaszkriptek bemutatják, hogyan listázhatja a csomaginformációkat, például a telepítési útvonalat és a verziót.
A Python-kódtár alapértelmezett helye
Amikor gépi tanulást telepít az SQL Serverrel, a rendszer egyetlen csomagtárat hoz létre a példány szintjén minden telepített nyelvhez. Az példánykönyvtár egy biztonságos mappa, amely az SQL Serverrel van regisztrálva.
Az SQL Serveren adatbázison belül futó összes szkriptnek vagy kódnak be kell töltenie a függvényeket a példánytárból. Az SQL Server nem tudja elérni a más kódtárakba telepített csomagokat. Ez a távoli ügyfelekre is vonatkozik: a kiszolgáló számítási környezetében futó Bármely Python-kód csak a példánytárban telepített csomagokat használhatja. A kiszolgálói eszközök védelme érdekében az alapértelmezett példánytárat csak a számítógép rendszergazdája módosíthatja.
A Python bináris fájljainak alapértelmezett elérési útja:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES
Ez feltételezi az alapértelmezett SQL-példányt, az MSSQLSERVER-t. Ha az SQL Server felhasználó által definiált elnevezett példányként van telepítve, a rendszer ehelyett a megadott nevet használja.
A Python bináris fájljainak alapértelmezett elérési útja:
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES
Ez feltételezi az alapértelmezett SQL-példányt, az MSSQLSERVER-t. Ha az SQL Server felhasználó által definiált elnevezett példányként van telepítve, a rendszer ehelyett a megadott nevet használja.
Engedélyezze a külső szkripteket a következő SQL-parancsok futtatásával:
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH override;
Fontos
Felügyelt Azure SQL-példányon a sp_configure és a RECONFIGURE parancsok futtatása aktiválja az SQL Server újraindítását az RG-beállítások érvénybe lépéséhez. Ez néhány másodpercnyi elérhetetlenséget okozhat.
Futtassa a következő SQL-utasítást, ha ellenőrizni szeretné az aktuális példány alapértelmezett kódtárát. Ez a példa a Python-változóban sys.path szereplő mappák listáját adja vissza. A lista tartalmazza az aktuális könyvtárat és a szokásos tár elérési útját.
EXECUTE sp_execute_external_script
@language =N'Python',
@script=N'import sys; print("\n".join(sys.path))'
A változóról sys.path és az értelmező modulok keresési útvonalának beállításáról a Modul keresési útvonala című témakörben talál további információt.
Megjegyzés:
Ne próbálja meg közvetlenül az SQL-csomagtárban telepíteni a Python-csomagokat pip vagy hasonló metódusok használatával. Ehelyett az sqlmlutils használatával telepítsen csomagokat egy SQL-példányban. További információ: Python-csomagok telepítése sqlmlutils használatával.
Alapértelmezett Microsoft Python-csomagok
A következő Microsoft Python-csomagok az SQL Server Machine Learning Services szolgáltatással vannak telepítve, amikor a Python szolgáltatást választja a beállítás során.
| Csomagok | verzió | Description |
|---|---|---|
| revoscalepy | 9.4.7 | Távoli számítási környezetekhez, streameléshez, rx-függvények párhuzamos végrehajtásához használható adatimportáláshoz és -átalakításhoz, modellezéshez, vizualizációhoz és elemzéshez. |
| microsoftml | 9.4.7 | Gépi tanulási algoritmusokat ad hozzá a Pythonban. |
A Python verziójáról további információt a Python és az R verziókban talál.
Összetevők frissítései
Alapértelmezés szerint a Python-csomagok szervizcsomagokkal és összegző frissítésekkel frissülnek. Az alapvető Python-összetevők további csomagjai és teljes verziófrissítései csak termékfrissítésekkel lehetségesek.
Alapértelmezett nyílt forráskódú Python-csomagok
Amikor a Python nyelvi beállítását választja a beállítás során, az Anaconda 4.2-disztribúció (Python 3.5-en keresztül) telepítve lesz. A Python-kódtárak mellett a standard telepítés mintaadatokat, egységteszteket és mintaszkripteket is tartalmaz.
Fontos
Soha ne írja felül manuálisan az SQL Server telepítője által telepített Python-verziót az újabb webes verziókkal. A Microsoft Python-csomagok az Anaconda adott verzióin alapulnak. A telepítés módosítása destabilizálhatja azt.
Az összes telepített Python-csomag listázása
Az alábbi példaszkript megjeleníti az SQL Server-példányban telepített összes Python-csomag listáját.
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)));
Egyetlen Python-csomag keresése
Ha telepített egy Python-csomagot, és meg szeretné győződni arról, hogy az elérhető egy adott SQL Server-példány számára, végrehajthat egy tárolt eljárást a csomag megkereséséhez és az üzenetek visszaküldéséhez.
Az alábbi kód például a scikit-learn csomagot keresi.
Ha a csomag megtalálható, a kód kinyomtatja a csomag verzióját.
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")
'
Eredmény:
STDOUT message(s) from external script: Package scikit-learn is version 0.20.2
A Python verziójának megtekintése
Az alábbi példakód az SQL Server példányában telepített Python-verziót adja vissza.
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
import sys
print(sys.version)
'