الأداة المساعدة للمكتبة (dbutils.library) (قديم)
إشعار
dbutils.library.install
تتم إزالة واجهات برمجة التطبيقات وواجهات dbutils.library.installPyPI
برمجة التطبيقات في Databricks Runtime 11.0 وما فوق. يتم إهمال معظم أوامر الأدوات المساعدة للمكتبة. لا تتوفر معظم الأدوات المساعدة للمكتبة على Databricks Runtime ML. للحصول على معلومات حول dbutils.library.restartPython
، راجع إعادة تشغيل عملية Python على Azure Databricks.
تم إيقاف هذه الوثائق وقد لا يتم تحديثها. لم تعد المنتجات أو الخدمات أو التقنيات المذكورة في هذا المحتوى مدعومة.
توصي Databricks بشدة باستخدام %pip
الأوامر السحرية لتثبيت المكتبات ذات نطاق دفتر الملاحظات. راجع مكتبات Python ذات نطاق دفتر الملاحظات.
للحصول على وثائق كاملة لوظيفة أدوات Databricks المساعدة، راجع مرجع Databricks Utilities (dbutils).
الأوامر: install, installPyPI, list, restartPython), updateCondaEnv
تتيح لك الأداة المساعدة للمكتبة تثبيت مكتبات Python وإنشاء بيئة محددة النطاق لجلسة عمل دفتر ملاحظات. تتوفر المكتبات على كل من برنامج التشغيل والمنفذين، بحيث يمكنك الرجوع إليها في الوظائف المعرفة من قبل المستخدم. وهذا يمكن:
- تبعيات المكتبة لدفتر ملاحظات ليتم تنظيمه داخل دفتر الملاحظات نفسه.
- مستخدمو دفتر الملاحظات الذين لديهم تبعيات مكتبة مختلفة لمشاركة نظام مجموعة دون تداخل.
يؤدي فصل دفتر ملاحظات إلى تدمير هذه البيئة. ومع ذلك، يمكنك إعادة إنشائها عن طريق إعادة تشغيل أوامر واجهة برمجة تطبيقات المكتبة install
في دفتر الملاحظات. restartPython
راجع واجهة برمجة التطبيقات لمعرفة كيفية إعادة تعيين حالة دفتر الملاحظات دون فقدان بيئتك.
يتم تمكين الأدوات المساعدة للمكتبة بشكل افتراضي. لذلك، بشكل افتراضي، يتم عزل بيئة Python لكل دفتر ملاحظات باستخدام ملف Python قابل للتنفيذ منفصل يتم إنشاؤه عند إرفاق دفتر الملاحظات ويرث بيئة Python الافتراضية على نظام المجموعة. لا تزال المكتبات المثبتة من خلال برنامج نصي init في بيئة Azure Databricks Python متوفرة. يمكنك تعطيل هذه الميزة عن طريق تعيين spark.databricks.libraryIsolation.enabled
إلى false
.
تتوافق واجهة برمجة التطبيقات هذه مع تثبيت المكتبة الموجودة على مستوى المجموعة من خلال واجهة المستخدم وواجهة برمجة تطبيقات المكتبات. المكتبات المثبتة من خلال واجهة برمجة التطبيقات هذه لها أولوية أعلى من المكتبات على مستوى المجموعة.
لسرد الأوامر المتوفرة، قم بتشغيل dbutils.library.help()
.
install(path: String): boolean -> Install the library within the current notebook session
installPyPI(pypiPackage: String, version: String = "", repo: String = "", extras: String = ""): boolean -> Install the PyPI library within the current notebook session
list: List -> List the isolated libraries added for the current notebook session via dbutils
restartPython: void -> Restart python process for the current notebook session
updateCondaEnv(envYmlContent: String): boolean -> Update the current notebook's Conda environment based on the specification (content of environment
أمر التثبيت (dbutils.library.install)
نظرا لمسار إلى مكتبة، يقوم بتثبيت تلك المكتبة داخل جلسة عمل دفتر الملاحظات الحالية. المكتبات المثبتة عن طريق استدعاء هذا الأمر متوفرة فقط لدفتر الملاحظات الحالي.
لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("install")
.
يقوم هذا المثال بتثبيت .egg
مكتبة أو .whl
داخل دفتر ملاحظات.
هام
dbutils.library.install
تمت إزالة في Databricks Runtime 11.0 وما فوق.
توصي Databricks بوضع كل أوامر تثبيت المكتبة في الخلية الأولى من دفتر الملاحظات واستدعاء restartPython
في نهاية تلك الخلية. تتم إعادة تعيين حالة دفتر ملاحظات Python بعد التشغيل restartPython
؛ يفقد دفتر الملاحظات جميع الحالات بما في ذلك على سبيل المثال لا الحصر المتغيرات المحلية والمكتبات المستوردة والحالات المؤقتة الأخرى. لذلك، نوصي بتثبيت المكتبات وإعادة تعيين حالة دفتر الملاحظات في خلية دفتر الملاحظات الأولى .
مصادر المكتبة المقبولة هي dbfs
و abfss
adl
و و.wasbs
dbutils.library.install("abfss:/path/to/your/library.egg")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
dbutils.library.install("abfss:/path/to/your/library.whl")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
إشعار
يمكنك تثبيت ملفات العجلة المخصصة مباشرة باستخدام %pip
. في المثال التالي، نفترض أنك قمت بتحميل ملف عجلة المكتبة إلى DBFS:
%pip install /dbfs/path/to/your/library.whl
ملفات البيض غير مدعومة بواسطة pip، وتعتبر ملفات العجلة معيار البناء والتعبئة الثنائية ل Python. ومع ذلك، إذا كنت تريد استخدام ملف بيضة بطريقة متوافقة مع %pip
، يمكنك استخدام الحل البديل التالي:
# This step is only needed if no %pip commands have been run yet.
# It will trigger setting up the isolated notebook environment
%pip install <any-lib> # This doesn't need to be a real library; for example "%pip install any-lib" would work
import sys
# Assuming the preceding step was completed, the following command
# adds the egg file to the current notebook environment
sys.path.append("/local/path/to/library.egg")
الأمر installPyPI (dbutils.library.installPyPI)
نظرا لحزمة فهرس حزمة Python (PyPI)، قم بتثبيت تلك الحزمة داخل جلسة دفتر الملاحظات الحالية. يتم عزل المكتبات المثبتة عن طريق استدعاء هذا الأمر بين دفاتر الملاحظات.
لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("installPyPI")
.
يقوم هذا المثال بتثبيت حزمة PyPI في دفتر ملاحظات. version
، repo
و، و extras
اختيارية. استخدم الوسيطة extras
لتحديد ميزة الإضافات (متطلبات إضافية).
dbutils.library.installPyPI("pypipackage", version="version", repo="repo", extras="extras")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
هام
dbutils.library.installPyPI
تمت إزالة في Databricks Runtime 11.0 وما فوق.
version
لا يمكن أن يكون المفتاحان و extras
جزءا من سلسلة حزمة PyPI. على سبيل المثال: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0")
غير صحيح. version
استخدم الوسيطتين و extras
لتحديد معلومات الإصدار والإضافات كما يلي:
dbutils.library.installPyPI("azureml-sdk", version="1.19.0", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
إشعار
عند استبدال dbutils.library.installPyPI
الأوامر بالأوامر %pip
، تتم إعادة تشغيل مترجم Python تلقائيا. يمكنك تشغيل أمر التثبيت كما يلي:
%pip install azureml-sdk[databricks]==1.19.0
يحدد هذا المثال متطلبات المكتبة في دفتر ملاحظات واحد ويثبتها باستخدام %run
في الآخر. للقيام بذلك، قم أولا بتعريف المكتبات المراد تثبيتها في دفتر ملاحظات. يستخدم هذا المثال دفتر ملاحظات يسمى InstallDependencies
.
dbutils.library.installPyPI("torch")
dbutils.library.installPyPI("scikit-learn", version="1.19.1")
dbutils.library.installPyPI("azureml-sdk", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
ثم قم بتثبيتها في دفتر الملاحظات الذي يحتاج إلى هذه التبعيات.
%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...
يعيد هذا المثال تعيين حالة دفتر ملاحظات Python مع الحفاظ على البيئة. تتوفر هذه التقنية فقط في دفاتر ملاحظات Python. على سبيل المثال، يمكنك استخدام هذه التقنية لإعادة تحميل المكتبات Azure Databricks المثبتة مسبقا بإصدار مختلف:
dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy
يمكنك أيضا استخدام هذه التقنية لتثبيت مكتبات مثل tensorflow التي يجب تحميلها عند بدء العملية:
dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow
أمر القائمة (dbutils.library.list)
يسرد المكتبات المعزولة المضافة لجلسة دفتر الملاحظات الحالية من خلال الأداة المساعدة للمكتبة. لا يتضمن هذا المكتبات المرفقة بالمجموعة.
لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("list")
.
يسرد هذا المثال المكتبات المثبتة في دفتر ملاحظات.
dbutils.library.list()
إشعار
ما يعادل هذا الأمر الذي يستخدم %pip
هو:
%pip freeze
الأمر updateCondaEnv (dbutils.library.updateCondaEnv)
يحدث بيئة Conda لدفتر الملاحظات الحالي استنادا إلى محتويات environment.yml
. يتم دعم هذا الأسلوب فقط لوقت تشغيل Databricks على Conda.
لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("updateCondaEnv")
.
يحدث هذا المثال بيئة Conda لدفتر الملاحظات الحالي استنادا إلى محتويات المواصفات المتوفرة.
dbutils.library.updateCondaEnv(
"""
channels:
- anaconda
dependencies:
- gensim=3.4
- nltk=3.4
""")