Setup-miniconda: Mengalami masalah saat mengaktifkan lingkungan

Dibuat pada 13 Nov 2020  ·  11Komentar  ·  Sumber: conda-incubator/setup-miniconda

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?

question

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:

  • Akan sangat bagus untuk mendokumentasikan bahwa nama lingkungan default untuk kasus saya adalah test , saya rasa saya tidak menemukannya di mana pun.
  • Secara pribadi itu akan (telah) membantu (red) saya untuk memiliki beberapa contoh khas yang lengkap (misalnya tes Python dan CMake). Kemudian beberapa jebakan yang saya temui akan menjadi lebih jelas bagi saya (tentu saja, semuanya ada di sana, hanya saja satu dari waktu ke waktu adalah pembaca yang malas, dan itu membantu ketika segala sesuatunya disajikan 'di hadapan Anda').

Semua 11 komentar

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:

  • Akan sangat bagus untuk mendokumentasikan bahwa nama lingkungan default untuk kasus saya adalah test , saya rasa saya tidak menemukannya di mana pun.
  • Secara pribadi itu akan (telah) membantu (red) saya untuk memiliki beberapa contoh khas yang lengkap (misalnya tes Python dan CMake). Kemudian beberapa jebakan yang saya temui akan menjadi lebih jelas bagi saya (tentu saja, semuanya ada di sana, hanya saja satu dari waktu ke waktu adalah pembaca yang malas, dan itu membantu ketika segala sesuatunya disajikan 'di hadapan Anda').
Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

bollwyvl picture bollwyvl  ·  12Komentar

sadielbartholomew picture sadielbartholomew  ·  8Komentar

magland picture magland  ·  4Komentar

goanpeca picture goanpeca  ·  9Komentar

goanpeca picture goanpeca  ·  9Komentar