Megosztás:


Python-csomaginformációk lekérése

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

Következő lépések