renv
على Azure Databricks
renv هي حزمة R تتيح للمستخدمين إدارة تبعيات R الخاصة بدفتر الملاحظات.
باستخدام renv
، يمكنك إنشاء وإدارة بيئة مكتبة R لمشروعك، وحفظ حالة هذه المكتبات في lockfile
، واستعادة المكتبات لاحقا كما هو مطلوب. يمكن أن تساعد هذه الأدوات معا في جعل المشاريع أكثر عزلة وقابلية للنقل وقابلية للتكرار.
- أقام
renv
- تهيئة الجلسة
renv
مع مكتبات R المثبتة مسبقا - استخدم
renv
لتثبيت حزم إضافية - استخدم
renv
لحفظ بيئة دفتر ملاحظات R إلى DBFS - إعادة تثبيت
renv
بيئة معينةlockfile
من DBFS
يمكنك التثبيت renv
كمكتبة ذات نطاق نظام مجموعة أو كمكتبة ذات نطاق دفتر ملاحظات. للتعيين renv
كمكتبة ذات نطاق دفتر ملاحظات، استخدم:
require(devtools)
install_version(
package = "renv",
repos = "http://cran.us.r-project.org"
)
توصي Databricks باستخدام لقطة CRAN كمستودع لإصلاح إصدار الحزمة.
الخطوة الأولى عند الاستخدام renv
هي تهيئة جلسة عمل باستخدام renv::init()
. قم بتعيين libPaths
لتغيير موقع التنزيل الافتراضي ليكون مسار مكتبة R في نطاق دفتر الملاحظات.
renv::init(settings = list(external.libraries=.libPaths()))
.libPaths(c(.libPaths()[2], .libPaths())
يمكنك الآن استخدام renv
واجهة برمجة التطبيقات لتثبيت حزم R وإزالتها. على سبيل المثال، لتثبيت أحدث إصدار من digest
، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.
renv::install("digest")
لتثبيت إصدار قديم من digest
، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.
renv::install("digest@0.6.18")
للتثبيت digest
من GitHub، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.
renv::install("eddelbuettel/digest")
لتثبيت حزمة من Bioconductor، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.
# (note: requires the BiocManager package)
renv::install("bioc::Biobase")
لاحظ أن renv::install
واجهة برمجة التطبيقات تستخدم ذاكرة التخزين المؤقت renv.
قم بتشغيل الأمر التالي مرة واحدة قبل حفظ البيئة.
renv::settings$snapshot.type("all")
يتم تعيين renv
هذا إلى لقطة لجميع الحزم المثبتة في libPaths
، وليس فقط تلك المستخدمة حاليا في دفتر الملاحظات. راجع وثائق renv لمزيد من المعلومات.
يمكنك الآن تشغيل ما يلي داخل خلية دفتر ملاحظات لحفظ الحالة الحالية للبيئة الخاصة بك.
renv::snapshot(lockfile="/dbfs/PATH/TO/WHERE/YOU/WANT/TO/SAVE/renv.lock", force=TRUE)
يحدث هذا عن lockfile
طريق التقاط جميع الحزم المثبتة على libPaths
. كما أنه ينقلك lockfile
من نظام الملفات المحلي إلى DBFS، حيث يستمر حتى إذا تم إنهاء نظام المجموعة أو إعادة تشغيله.
أولا، تأكد من أن نظام المجموعة الجديد يعمل بإصدار Databricks Runtime متطابق مثل الإصدار الذي أنشأت البيئة عليه renv
لأول مرة. وهذا يضمن أن حزم R المثبتة مسبقا متطابقة. يمكنك العثور على قائمة بهذه في ملاحظات إصدار كل وقت تشغيل. بعد تثبيت renv، قم بتشغيل ما يلي داخل خلية دفتر ملاحظات.
renv::init(settings = list(external.libraries=.libPaths()))
.libPaths(c(.libPaths()[2], .libPaths()))
renv::restore(lockfile="/dbfs/PATH/TO/WHERE/YOU/SAVED/renv.lock", exclude=c("Rserve", "SparkR"))
يؤدي هذا إلى نسخ من lockfile
DBFS إلى نظام الملفات المحلي ثم استعادة أي حزم محددة lockfile
في .
ملاحظة
لتجنب أخطاء المستودع المفقودة، استبعد Rserve
الحزم و SparkR
من استعادة الحزمة. يتم تثبيت كل من هذه الحزم مسبقا في جميع أوقات التشغيل.
ميزة مفيدة جدا ل renv
هي ذاكرة التخزين المؤقت للحزمة العمومية الخاصة بها، والتي تتم مشاركتها عبر جميع renv
المشاريع على نظام المجموعة. إنه يسرع أوقات التثبيت ويوفر مساحة على القرص. لا تقوم renv
ذاكرة التخزين المؤقت بتخزين الحزم التي تم تنزيلها عبر devtools
واجهة برمجة التطبيقات أو install.packages()
مع أي وسيطات إضافية غير pkgs
.