Not defteri kapsamındaki Python kitaplıkları

Not defteri kapsamlı kitaplıklar, not defterine özgü özel Python ortamları oluşturmanıza, değiştirmenize, kaydetmenize, yeniden kullanmanıza ve paylaşmanıza olanak tanır. Not defteri kapsamlı bir kitaplık yüklediğinizde, yalnızca geçerli not defteri ve bu not defteriyle ilişkili tüm işler bu kitaplığa erişebilir. Aynı kümeye eklenen diğer not defterleri etkilenmez.

Not defteri kapsamlı kitaplıklar oturumlar arasında kalıcı olmaz. Not defterine özgü kitaplıkları her oturumun başında veya not defteri kümeden her ayrıldığında yeniden yüklemeniz gerekir.

Databricks, not defteri kapsamlı Python kitaplıklarını yüklemek için %pip magic komutunun kullanılmasını önerir. Ortam sürümü 5 veya üzerini çalıştıran sunucusuz not defterlerinde, daha hızlı kurulumlar için %uv pip öğesini de kullanabilirsiniz.

%pip öğesini iş olarak zamanlanan not defterlerinde kullanabilirsiniz. Bir Scala, SQL veya R not defterinde Python ortamını yönetmeniz gerekiyorsa, %pip ile birlikte %python sihirli komutunu kullanın.

Not defteri kapsamlı kitaplık yüklemeleriyle çalışırken sürücü düğümüne yönelik daha fazla trafikle karşılaşabilirsiniz. Bkz . Sürücü düğümü boyutu önerileri.

Bir kümeye bağlı tüm not defterlerinin kitaplıklarını yüklemek için küme kitaplıklarını kullanın. Bkz. İşlem kapsamlı kütüphaneler.

Databricks'te Python kitaplıklarını yüklemeye yönelik seçeneklere kapsamlı bir genel bakış için bkz . Python ortam yönetimi.

Kitaplıkları komutlarla %pip yönetme

komutu %pip pip komutuna eşdeğerdir ve aynı API'yi destekler. Aşağıdaki bölümlerde, ortamınızı yönetmek için komutları nasıl kullanabileceğinize %pip ilişkin örnekler gösterilmektedir. ile pipPython paketlerini yükleme hakkında daha fazla bilgi için pip yükleme belgelerine ve ilgili sayfalara bakın.

Önemli

  • %pip komutları Python işlemini otomatik olarak yeniden başlatmaz. Yeni bir paket yükler veya mevcut bir paketi güncelleştirirseniz, yeni paketleri görmek için kullanmanız dbutils.library.restartPython() gerekebilir. Bkz. Azure Databricks'te Python işlemini yeniden başlatma.
  • temel Python paketlerini (IPython gibi) ile %pip yükseltmek, değiştirmek veya kaldırmak bazı özelliklerin beklendiği gibi çalışmayı durdurmasına neden olabilir. Bu tür sorunlarla karşılaşırsanız kümeyi yeniden başlatarak veya yeni bir oturum başlatarak ortamı sıfırlayın.

ile daha hızlı yüklemeler %uv pip

Not

%uv pip yalnızca ortam sürümü 5 veya üzerini çalıştıran sunucusuz not defterlerinde kullanılabilir. Klasik işlem ve önceki sunucusuz ortam sürümleri desteklemez %uv pip.

%uv pip magic komutu, %pip komutuna göre daha hızlı bir alternatiftir. %uv pip, uv paket yöneticisi tarafından desteklenmektedir ve %pip ile aynı not defteri sanal ortamını paylaşır; bu nedenle bir araçla yüklenen paketler diğer araç tarafından da görülebilir.

%uv pip, yüklemeler ve list gibi salt okunur işlemler için %pip'den daha hızlıdır. Bu, ortam belirtiminin üzerinde yineleme için uygun olmasını sağlar.

%uv pip standart pip alt komutları destekler: install, uninstall, list, show, freeze, , checkve tree.

%uv pip install simplejson
%uv pip list

Bu sayfadaki diğer yükleme desenleri (birimler, çalışma alanı dosyaları, gereksinimler dosyaları, sürüm denetimi, özel depolar) ile %uv pipçalışır. Bu örneklerin herhangi birinde %pip yerine %uv pip kullanabilirsiniz.

%uv pip Sınırlama

  • %uv pip uninstall sunucusuz ortama önceden yüklenmiş kitaplıkları tam olarak kaldıramaz. Yalnızca paket meta verileri kaldırılır. Altta yatan dosyalar dosya sisteminde de kalır ve paket hâlâ içe aktarılabilir.
  • %uv pip önceden yüklenmiş kitaplıklara karşı bağımlılık çakışmalarını denetlemez.
  • %uv pip komutları çalıştırıldıktan sonra, not defterinin Ortam yan panelinde önceden yüklenmiş bazı kitaplıklar kullanıcı tarafından yüklenmiş olarak görüntülenebilir. Bu bir görüntüleme sorunudur ve paket işlevselliğini etkilemez.
  • %uv pip hızlı etkileşimli yineleme için tasarlanmıştır. Not defteri için yeniden üretilebilir bir ortam ayarlamak için, not defterinin Ortam yan paneline bağımlılıkları ekleyin.

%pip ile bir kitaplık yükleyin

%pip install matplotlib

Python wheel paketini %pip kullanarak yükleme

%pip install /path/to/my_package.whl

%pip ile bir kitaplığı kaldırma

Not

Databricks Runtime sürüm notları sürümleri ve uyumluluğu içinde yer alan bir kitaplığı veya küme kitaplığı olarak yüklenmiş bir kitaplığı kaldıramazsınız. Databricks Runtime'da bulunandan veya kümede yüklü olandan farklı bir kitaplık sürümü yüklediyseniz, %pip uninstall kitaplığı Databricks Runtime'daki varsayılan sürüme veya kümede yüklü olan sürüme döndürmek için kullanabilirsiniz, ancak Databricks Runtime'da bulunan veya kümede yüklü olan bir kitaplığın sürümünü kaldırmak için komut kullanamazsınız %pip .

%pip uninstall -y matplotlib

Bu -y seçenek gereklidir.

bir sürüm denetim sisteminden %pip ile kitaplık yükleyin

%pip install git+https://github.com/databricks/databricks-cli

Sürüm veya git alt dizini gibi öğeleri belirtmek için URL'ye parametreler ekleyebilirsiniz. Daha fazla bilgi için VCS desteğine ve diğer sürüm denetim sistemlerinin kullanıldığı örneklere bakın.

Kimlik bilgileri Databricks gizli anahtarlarıyla yönetilen özel bir paketi %pip ile yükleme

pip, Nexus ve Artifactorygibi özel sürüm denetim sistemleri ve özel paket depoları gibi temel kimlik doğrulamaile özel kaynaklardan paketlerin yüklenmesini destekler. Gizli dizi yönetimi, kimlik doğrulama belirteçlerini ve parolaları depolamanıza olanak tanıyan Databricks Gizli Dizileri API'sini kullanarak kullanılabilir. Not defterinizdeki gizli dizilere erişmek için DBUtils API'sini kullanın. Sihirli komutlarda kullanabileceğinizi $variables unutmayın.

Özel bir depodan paket yüklemek için, depo URL'sini %pip install komutuna yönelik --index-url seçeneğiyle belirtin veya ~/.pip/pip.conf konumundaki pip yapılandırma dosyasına ekleyin.

token = dbutils.secrets.get(scope="scope", key="key")
%pip install --index-url https://<user>:$token@<your-package-repository>.com/<path/to/repo> <package>==<version> --extra-index-url https://pypi.org/simple/

Benzer şekilde, gizli dizi yönetimini sihirli komutlarla kullanarak sürüm denetim sistemlerinden özel paketler yükleyebilirsiniz.

token = dbutils.secrets.get(scope="scope", key="key")
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>

ile DBFS'den paket yükleme %pip

Önemli

Herhangi bir çalışma alanı kullanıcısı DBFS'de depolanan dosyaları değiştirebilir. Azure Databricks, dosyaları çalışma alanlarında veya Unity Kataloğu birimlerinde depolamanızı önerir.

DBFS'ye kaydedilmiş özel bir paketi yüklemek için kullanabilirsiniz %pip .

DbFS'ye bir dosya yüklediğinizde, dosya otomatik olarak yeniden adlandırılır ve boşluklar, nokta ve kısa çizgiler alt çizgiyle değiştirilir. Python tekerlek dosyaları için, pip dosya adının sürümdeki dönemleri (örneğin, 0.1.0) ve boşluk veya alt çizgi yerine kısa çizgileri kullanmasını gerektirir, bu nedenle bu dosya adları değiştirilmez.

%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl

%pip ile bir birimden paket yükleyin

Önemli

Bu özellik Genel Önizlemededir.

Databricks Runtime 13.3 LTS ve üzeri sürümlerde, bir volume’e kaydedilmiş olan özel bir paketi yüklemek için %pip kullanabilirsiniz.

Bir birime dosya yüklediğinizde, dosya otomatik olarak yeniden adlandırılır ve boşluklar, nokta ve kısa çizgiler alt çizgiyle değiştirilir. Python tekerlek dosyaları için, pip dosya adının sürümdeki dönemleri (örneğin, 0.1.0) ve boşluk veya alt çizgi yerine kısa çizgileri kullanmasını gerektirir, bu nedenle bu dosya adları değiştirilmez.

%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl

Çalışma alanı dosyası olarak depolanan bir paketi %pip ile yükleyin

Databricks Runtime 11.3 LTS ve üzeri ile, çalışma alanı dosyası olarak kaydedilmiş özel bir paketi yüklemek için kullanabilirsiniz %pip .

%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl

Kitaplıkları gereksinimler dosyasına kaydetme

%pip freeze > /Workspace/shared/prod_requirements.txt

Dosya yolundaki tüm alt dizinler zaten mevcut olmalıdır. %pip freeze > /Workspace/<new-directory>/requirements.txt komutunu çalıştırırsanız, /Workspace/<new-directory> dizini zaten mevcut değilse komut başarısız olur.

Kitaplıkları yüklemek için gereksinimler dosyası kullanma

Gereksinimler dosyası kullanılarak pipyüklenecek paketlerin listesini içerir. Gereksinimler dosyasının kullanılmasına örnek olarak aşağıdakiler gösteriliyor:

%pip install -r /Workspace/shared/prod_requirements.txt

requirements.txt dosyaları hakkında daha fazla bilgi için Gereksinim Dosyası Biçimi bölümüne bakın.

Sürücü düğümü boyutu önerileri

Not defteri kapsamlı kitaplıkların kullanılması, ortamı yürütücü düğümleri arasında tutarlı tutmak için çalıştığından sürücü düğümüne daha fazla trafikle sonuçlanabilir.

10 veya daha fazla düğüme sahip bir küme kullandığınızda Databricks, sürücü düğümü için en düşük gereksinim olarak şu belirtimleri önerir:

  • 100 düğüm cpu kümesi için Standard_D8ds_v5 kullanın.
  • 10 düğüm gpu kümesi için Standard_NC12 kullanın.

Daha büyük kümeler için daha büyük bir sürücü düğümü kullanın.

%pip, %sh pip ve !pip arasındaki farklar

%sh ve ! bir not defterinde bir kabuk komutu yürütür; birincisi Databricks yardımcı sihirli komutudur , ikincisi ise IPython'un bir özelliğidir. automagic etkinleştirildiğinde, pip, Azure Databricks Python not defterlerinde varsayılan olarak etkin olan %pip ifadesinin kısaltmasıdır.

Databricks Runtime 11.3 LTS ve üzerindeki sürümlerde, %pip, %sh pip ve !pip öğelerinin tümü bir kitaplığı not defteri kapsamındaki bir Python kitaplığı olarak yükler. Databricks Runtime 10.4 LTS ve daha düşük sürümlerde Databricks, not defteri kapsamındaki kitaplıkları yüklemek için yalnızca %pip veya pip kullanılmasını önerir. %sh pip ile !pip'in davranışı, Databricks Runtime 10.4 LTS ve altı sürümlerde tutarlı değildir.

Bilinen sorunlar

  • Databricks Runtime 9.1 LTS'de, not defteri kapsamındaki kitaplıklar toplu akış işleriyle uyumlu değildir. Databricks bunun yerine küme kitaplıklarının veya IPython çekirdeğininkullanılmasını önerir.