Saya mengalami masalah saat mengaktifkan lingkungan base
. Berikut adalah cuplikan dari resep saya:
- uses: conda-incubator/setup-miniconda<strong i="7">@v2</strong>
with:
auto-update-conda: true
auto-activate-base: true
activate-environment: base
- run: conda info
- run: conda env update -n base --file environment.yaml
saya mendapatkan
Error: To activate "base" environment use the "auto-activate-base" action input!
Bagaimana saya bisa meningkatkannya agar benar-benar berfungsi?
Ubah dengan:
- uses: conda-incubator/setup-miniconda<strong i="6">@v2</strong>
with:
environment-file: environment.yaml
activate-environment: <name stated in environment.yaml>
auto-activate-base: false
- run: conda info
Terima kasih @jaimergp . Bagaimana dengan kasus saya tidak memiliki nama lingkungan yang ditentukan dalam environment.yaml
?
Tidak bisakah Anda menambahkan nama apa pun ke file? Jika tidak ada di repo Anda, mungkin tambal dengan echo "name: test" >> environment.yaml
sebelum menggunakan setup-miniconda
?
@jaimergp Tentu saya bisa menambahkan resep CI itu sendiri. Saya tidak suka melakukannya secara umum, saya pikir itu tidak perlu membatasi untuk menentukan nama dalam file lingkungan, dan sejauh yang saya tahu tidak apa-apa bagi conda untuk tidak menentukannya.
Secara lebih luas, tidakkah tindakan tersebut dapat menangani pengaturan saya juga?
Hai @tdegeus terima kasih atas laporannya. @jaimergp Saya tidak ingat sekarang jika kami menambahkan nama "test" secara default ke file yaml jika nama tidak ada di sana.
Kita perlu memeriksa ulang.
Tampaknya memang nama lingkungan 'default' adalah test
dalam hal ini @goanpeca . Tetapi dengan perintah di atas saya masih belum mendapatkan lingkungan yang diaktifkan dengan benar. Berikut adalah detail untuk https://github.com/tdegeus/shelephant/pull/12
steps:
- uses: actions/checkout<strong i="9">@v2</strong>
- uses: conda-incubator/setup-miniconda<strong i="10">@v2</strong>
with:
environment-file: environment.yaml
activate-environment: test
auto-activate-base: false
- run: conda info
Output perintah terakhir:
active environment : None
user config file : /home/runner/.condarc
populated config files : /home/runner/.condarc
conda version : 4.8.3
conda-build version : not installed
python version : 3.8.3.final.0
virtual packages : __glibc=2.27
base environment : /usr/share/miniconda (writable)
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/runner/conda_pkgs_dir
envs directories : /usr/share/miniconda/envs
/home/runner/.conda/envs
platform : linux-64
user-agent : conda/4.8.3 requests/2.23.0 CPython/3.8.3 Linux/5.4.0-1031-azure ubuntu/18.04.5 glibc/2.27
UID:GID : 1001:116
netrc file : None
offline mode : False
Memang jika saya melihat baris yang menginstal paket-paket di environment.yaml
hasilnya seperti itu
# To activate this environment, use
#
# $ conda activate test
#
# To deactivate an active environment, use
#
# $ conda deactivate
Menyarankan bahwa lingkungan tidak diaktifkan.
@tdegeus karena cara kerja tindakan github, Anda perlu menentukan argumen tambahan untuk tindakan seperti yang dijelaskan dalam README untuk shell yang berbeda.
- name: Conda info
shell: bash -l {0}
run: conda info
Jika Anda tidak menggunakan shell: bash -l {0}
dengan asumsi Anda menggunakan bash, maka tindakan tersebut tidak akan dapat mengaktifkan lingkungan dengan benar.
Ini adalah batasan yang diketahui, Anda dapat membaca lebih lanjut di sini
@goanpeca Jadi saya harus melakukan itu untuk setiap baris di mana saya ingin menggunakan lingkungan?
Sebelumnya, saya menggunakan beberapa tindakan yang tidak memiliki batasan ini:
- uses: s-weigand/setup-conda<strong i="8">@v1</strong>
- run: conda --version
- run: conda env update -n base --file environment.yaml
@tdegeus
Jadi saya harus melakukan itu untuk setiap baris di mana saya ingin menggunakan lingkungan?
Ya atau gunakan shell default jika semua stepps Anda akan menggunakan shell yang sama, seperti yang dijelaskan pada:
https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow -syntax-for-github-actions#jobsjob_iddefaultsrun
Sebelumnya, saya menggunakan beberapa tindakan yang tidak memiliki batasan ini:
Ya, tindakan itu tidak mengaktifkan lingkungan dengan benar.
@tdegeus https://github.com/conda-incubator/setup-miniconda/pull/96 menambahkan informasi tentang apa yang saya jelaskan di komentar.
Saya pikir kita bisa menutup masalah ini. Jika ini bukan masalahnya, beri tahu kami apa lagi yang bisa kami lakukan untuk meningkatkan tindakan.
Terima kasih kembali atas feedbacknya :-)
Hebat @goanpeca , terima kasih atas bantuan dan PRnya !!
Jika saya dapat memberikan pengalaman pribadi tentang readme saat kami menutup pertanyaan ini:
test
, saya rasa saya tidak menemukannya di mana pun.
Komentar yang paling membantu
Hebat @goanpeca , terima kasih atas bantuan dan PRnya !!
Jika saya dapat memberikan pengalaman pribadi tentang readme saat kami menutup pertanyaan ini:
test
, saya rasa saya tidak menemukannya di mana pun.