Dapatkan informasi paket Python

Berlaku untuk: SQL Server 2017 (14.x) dan yang lebih baru Azure SQL Managed Instance

Artikel ini menjelaskan cara mendapatkan informasi tentang paket Python yang diinstal, termasuk versi dan lokasi penginstalan, pada Layanan Pembelajaran Mesin di SQL Server dan di Kluster Big Data. Contoh skrip Python menunjukkan kepada Anda cara mencantumkan informasi paket seperti jalur dan versi penginstalan.

Artikel ini menjelaskan cara mendapatkan informasi tentang paket Python yang diinstal, termasuk versi dan lokasi penginstalan, di SQL Server Machine Learning Services. Contoh skrip Python menunjukkan kepada Anda cara mencantumkan informasi paket seperti jalur dan versi penginstalan.

Artikel ini menjelaskan cara mendapatkan informasi tentang paket Python yang diinstal, termasuk versi dan lokasi penginstalan, di Azure SQL Managed Instance Machine Learning Services. Contoh skrip Python menunjukkan kepada Anda cara mencantumkan informasi paket seperti jalur dan versi penginstalan.

Lokasi pustaka Python default

Saat Anda menginstal pembelajaran mesin dengan SQL Server, pustaka paket tunggal dibuat pada tingkat instans untuk setiap bahasa yang Anda instal. Pustaka instans adalah folder aman yang terdaftar di SQL Server.

Semua skrip atau kode yang berjalan dalam database di SQL Server harus memuat fungsi dari pustaka instans. SQL Server tidak dapat mengakses paket yang diinstal ke pustaka lain. Ini juga berlaku untuk klien jarak jauh: kode Python apa pun yang berjalan dalam konteks komputasi server hanya dapat menggunakan paket yang diinstal di pustaka instans. Untuk melindungi aset server, pustaka instans default hanya dapat dimodifikasi oleh administrator komputer.

Jalur default biner untuk Python adalah:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES

Ini mengasumsikan instans SQL default, MSSQLSERVER. Jika SQL Server diinstal sebagai instans bernama yang ditentukan pengguna, nama yang diberikan akan digunakan sebagai gantinya.

Jalur default biner untuk Python adalah:

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES

Ini mengasumsikan instans SQL default, MSSQLSERVER. Jika SQL Server diinstal sebagai instans bernama yang ditentukan pengguna, nama yang diberikan akan digunakan sebagai gantinya.

Aktifkan skrip eksternal dengan menjalankan perintah SQL berikut:

sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH override;

Penting

Pada Azure SQL Managed Instance, menjalankan perintah sp_configure dan KONFIGURASI ULANG memicu mulai ulang server SQL agar pengaturan RG berlaku. Ini dapat menyebabkan beberapa detik tidak tersedia.

Jalankan pernyataan SQL berikut jika Anda ingin memverifikasi pustaka default untuk instans saat ini. Contoh ini mengembalikan daftar folder yang disertakan dalam variabel Python sys.path . Daftar ini mencakup direktori saat ini dan jalur pustaka standar.

EXECUTE sp_execute_external_script
  @language =N'Python',
  @script=N'import sys; print("\n".join(sys.path))'

Untuk informasi selengkapnya tentang variabel sys.path dan bagaimana variabel digunakan untuk mengatur jalur pencarian penerjemah untuk modul, lihat Jalur Pencarian Modul.

Catatan

Jangan mencoba menginstal paket Python langsung di pustaka paket SQL menggunakan pip atau metode serupa. Sebagai gantinya, gunakan sqlmlutils untuk menginstal paket dalam instans SQL. Untuk informasi selengkapnya, lihat Menginstal paket Python dengan sqlmlutils.

Paket Microsoft Python default

Paket Microsoft Python berikut diinstal dengan SQL Server Machine Learning Services saat Anda memilih fitur Python selama penyiapan.

Paket Versi Deskripsi
revoscalepy 9.4.7 Digunakan untuk konteks komputasi jarak jauh, streaming, eksekusi paralel fungsi rx untuk impor dan transformasi data, pemodelan, visualisasi, dan analisis.
microsoftml 9.4.7 Menambahkan algoritma pembelajaran mesin di Python.

Untuk informasi tentang versi Python mana yang disertakan, lihat versi Python dan R.

Peningkatan komponen

Secara default, paket Python di-refresh melalui paket layanan dan pembaruan kumulatif. Paket tambahan dan peningkatan versi lengkap komponen inti Python hanya dimungkinkan melalui peningkatan produk.

Paket Python sumber terbuka default

Saat Anda memilih opsi bahasa Python selama penyiapan, distribusi Anaconda 4.2 (melalui Python 3.5) diinstal. Selain pustaka kode Python, penginstalan standar mencakup data sampel, pengujian unit, dan skrip sampel.

Penting

Anda tidak boleh menimpa versi Python yang diinstal secara manual oleh SQL Server Penyiapan dengan versi yang lebih baru di web. Paket Microsoft Python didasarkan pada versi Anaconda tertentu. Memodifikasi penginstalan Anda bisa mengakibatkannya tidak stabil.

Mencantumkan semua paket Python yang terinstal

Contoh skrip berikut menampilkan daftar semua paket Python yang diinstal dalam instans SQL Server.

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

Menemukan satu paket Python

Jika Anda telah menginstal paket Python dan ingin memastikan bahwa paket tersebut tersedia untuk instans SQL Server tertentu, Anda dapat menjalankan prosedur tersimpan untuk mencari paket dan mengembalikan pesan.

Misalnya, kode berikut mencari scikit-learn paket. Jika paket ditemukan, kode akan mencetak versi paket.

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

Hasil:

STDOUT message(s) from external script: Package scikit-learn is version 0.20.2

Menampilkan versi Python

Contoh kode berikut mengembalikan versi Python yang diinstal dalam instans SQL Server.

EXECUTE sp_execute_external_script
  @language = N'Python',
  @script = N'
import sys
print(sys.version)
'

Langkah berikutnya