Bagikan melalui


Dapatkan informasi paket Python

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

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 penginstalan dan versi.

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

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

Lokasi pustaka Python default

Saat Anda menginstal pembelajaran mesin dengan SQL Server, pustaka paket tunggal dibuat di 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 berlaku untuk klien jarak jauh juga: 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 cara penggunaannya 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 Pembelajaran Mesin 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 Python inti 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 secara manual yang diinstal oleh Penyiapan SQL Server dengan versi yang lebih baru di web. Paket Microsoft Python didasarkan pada versi Anaconda tertentu. Memodifikasi penginstalan Anda dapat mengacaukannya.

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