View a markdown version of this page

Buat paket conda untuk aplikasi atau plugin - Awan Batas Waktu

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat paket conda untuk aplikasi atau plugin

Paket conda adalah arsip terkompresi perangkat lunak yang ditulis dalam bahasa apa pun. Conda mendukung berbagai kombinasi sistem operasi dan arsitektur, sehingga Anda dapat mengemas aplikasi lengkap sepertiBlender,Maya, dan di Nuke samping perpustakaan untuk Python dan bahasa lainnya. Untuk informasi selengkapnya tentang paket conda, lihat Paket dalam dokumentasi conda.

Untuk menggunakan paket conda, Anda menginstalnya ke lingkungan virtual. Lingkungan virtual conda memiliki direktori awalan tempat paket diinstal. Menginstal paket menggunakan hardlinking atau reflinking file saat didukung, sehingga membuat beberapa lingkungan dengan paket yang sama tidak menggunakan ruang disk tambahan yang signifikan. Untuk menggunakan lingkungan virtual, Anda mengaktifkannya untuk mengatur variabel lingkungan. Aktivasi menjalankan skrip yang disediakan paket, memberikan setiap paket kesempatan untuk memodifikasi PATH atau variabel lingkungan lainnya. Paket Conda biasanya berisi aplikasi atau pustaka, tetapi aktivasi fleksibel berarti mereka juga dapat menunjuk ke aplikasi yang diinstal pada sistem file bersama.

Membuat paket kustom melibatkan tiga tahap: resep berisi instruksi pembuatan, paket adalah artefak yang dibangun (.condaatau .tar.bz2 file), dan saluran menghosting paket untuk instalasi. Per rattler-build publish intah menangani ketiga langkah—dapat membangun resep ke dalam paket dan menerbitkannya ke saluran, atau dapat mengambil artefak paket secara langsung untuk menerbitkannya.

Kom unitas conda-forge memelihara resep paket untuk serangkaian perangkat lunak sumber terbuka yang luas, dan menghosting artefak paket di saluranconda-forge. Anda dapat mengonfigurasi antrian Anda untuk disertakan conda-forge sebagai sumber paket, dan kemudian membangun paket khusus yang bergantung pada paket conda-forge untuk dijalankan. UntukLinux, conda-forge menghosting toolchain kompiler lengkap termasuk dukungan CUDA, dengan opsi kompilasi dan penautan yang konsisten dipilih. Anda dapat menggunakan paket conda-forge sebagai dependensi dalam resep Anda sendiri, atau menginstalnya bersama paket kustom Anda di lingkungan yang sama.

Anda dapat menggabungkan seluruh aplikasi, termasuk dependensi, ke dalam paket conda. Paket Deadline Cloud menyediakan di saluran deadline-cloud untuk armada yang dikelola layanan menggunakan pendekatan pengemasan ulang biner ini. Ini mengatur file yang sama dengan instalasi agar sesuai dengan lingkungan virtual conda.

catatan

Aplikasi besar dapat membutuhkan puluhan GB ruang disk kosong untuk arsip sumber, file yang diekstraksi, dan output build. Pastikan Anda menggunakan disk dengan ruang yang cukup tersedia untuk output build paket.

Paket aplikasi

Saat mengemas ulang aplikasi untuk conda, ada dua tujuan:

  • Sebagian besar file untuk aplikasi harus terpisah dari struktur lingkungan virtual conda primer. Lingkungan kemudian dapat mencampur aplikasi dengan paket dari sumber lain seperti conda-forge.

  • Ketika lingkungan virtual conda diaktifkan, aplikasi harus tersedia dari variabel lingkungan PATH.

Untuk mengemas ulang aplikasi untuk conda
  1. Tulis resep conda build yang menginstal aplikasi ke subdirektori seperti. $CONDA_PREFIX/opt/<application-name> Ini memisahkannya dari direktori awalan standar seperti bin danlib.

  2. Tambahkan symlink atau luncurkan skrip $CONDA_PREFIX/bin untuk menjalankan binari aplikasi.

    Atau, buat skrip activate.d yang akan dijalankan conda activate perintah untuk menambahkan direktori biner aplikasi ke PATH. AktifWindows, di mana symlink tidak didukung di mana pun lingkungan dapat dibuat, gunakan peluncuran aplikasi atau aktifkan skrip.d sebagai gantinya.

  3. Beberapa aplikasi bergantung pada pustaka yang tidak diinstal secara default pada armada yang dikelola layanan Deadline Cloud. Misalnya, sistem jendela X11 biasanya tidak diperlukan untuk pekerjaan non-interaktif, tetapi beberapa aplikasi masih mengharuskannya untuk berjalan tanpa antarmuka grafis. Anda harus menyediakan dependensi tersebut dalam paket yang Anda buat.

  4. Jika aplikasi mendukung plugin, berikan konvensi yang jelas bahwa paket plugin harus mengikuti untuk berintegrasi dengan aplikasi di lingkungan virtual. Misalnya, resep sampel Maya 2026 men dokumentasikan konvensi ini untuk Maya plugin.

  5. Pastikan Anda mengikuti perjanjian hak cipta dan lisensi untuk aplikasi yang Anda paket. Sebaiknya gunakan bucket Amazon S3 pribadi untuk saluran conda Anda untuk mengontrol distribusi dan membatasi akses paket ke peternakan Anda.

Resep sampel untuk paket di deadline-cloud saluran tersedia di repositori sampel Deadline Cloud diGitHub.

Paket plugin

Plugin aplikasi dapat dikemas sebagai paket conda mereka sendiri. Saat membuat paket plugin, ikuti panduan ini:

  • Sertakan paket aplikasi host sebagai dependensi build dan run dalam resep buildrecipe.yaml. Gunakan batasan versi sehingga resep build hanya diinstal dengan paket yang kompatibel.

  • Ikuti konvensi paket aplikasi host untuk mendaftarkan plugin.

Paket Adaptor

Beberapa integrasi aplikasi Deadline Cloud menggunakan adaptor yang memperluas antarmuka aplikasi untuk menyederhanakan pen ulisan template pekerjaan. Adaptor adalah antarmuka baris perintah dengan dukungan untuk menjalankan daemon latar belakang, melaporkan status, dan menerapkan pemetaan jalur. Untuk informasi selengkapnya, lihat Open Job Deskripsi Adaptor Runtime aktifGitHub. Misalnya, deadline-cloud-for-maya on menyer GitHub takan GUI pengiriman pekerjaan terintegrasi dan Maya adaptor yang tersedia sebagai maya-openjd paket pada armada yang dikelola layanan.

Pengiriman pekerjaan dari GUI pengirim Deadline Cloud menyer CondaPackages takan nilai parameter yang menentukan paket conda untuk disertakan dalam lingkungan virtual untuk menjalankan pekerjaan. Nilai CondaPackages parameter untuk Maya biasanya terlihat seperti maya=2026.* maya-openjd=0.15.* maya-mtoa dan mungkin berisi entri alternatif untuk paket plugin. Ketika lingkungan antrian menyiapkan lingkungan virtual conda untuk menjalankan pekerjaan, itu menyelesaikan nama paket dan batasan versi ini agar kompatibel dan menambahkan semua paket ketergantungan yang perlu mereka jalankan. Setiap adaptor dan paket plugin menentukan apa yang kompatibel dengannya, termasuk versi manaMaya, versi Python mana, dan dependensi lainnya.

Untuk membuat paket adaptor Anda sendiri menggunakan sampel kami seperti resep https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/maya-openjd maya-openjdGitHub, Anda dapat membangun paket untuk Python dan dependensi lain yang disediakan oleh conda-forge. https://conda-forge.org/ Anda mungkin perlu membuat tenggat waktu dan resep openjd-adaptor-runtime terlebih dahulu untuk memenuhi dependensi.