Ich habe Probleme, einfach die base
Umgebung zu aktivieren. Hier ein Ausschnitt aus meinem Rezept:
- 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
Ich erhalte
Error: To activate "base" environment use the "auto-activate-base" action input!
Wie kann ich es verbessern, damit es tatsächlich funktioniert?
Ersetzen mit:
- 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
Danke @jaimergp . Was ist, wenn ich keinen Umgebungsnamen in environment.yaml
?
Können Sie der Datei keinen Namen hinzufügen? Wenn es nicht in Ihrem Repo ist, patchen Sie es vielleicht mit echo "name: test" >> environment.yaml
bevor Sie setup-miniconda
?
@jaimergp Klar könnte ich das CI-Rezept selbst hinzufügen. Ich mache es im Allgemeinen nicht gerne, ich denke, es ist unnötig einschränkend, den Namen in der Umgebungsdatei anzugeben, und soweit ich weiß, ist es für Conda völlig in Ordnung, ihn nicht anzugeben.
Sollte die Aktion nicht auch mit meinem Setup umgehen können?
Hallo @tdegeus danke für den Bericht. @jaimergp Ich kann mich jetzt nicht daran erinnern, ob wir den Namen "test" standardmäßig zur yaml-Datei hinzufügen, wenn der Name nicht darin enthalten ist.
Wir müssen das überprüfen.
Es scheint tatsächlich, dass der 'Standard'-Umgebungsname test
in diesem Fall @goanpeca ist . Aber mit den obigen Befehlen bekomme ich immer noch keine richtig aktivierte Umgebung. Hier sind die Details für 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
Der letzte Befehl gibt aus:
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
In der Tat, wenn ich nach den Zeilen suche, die die Pakete in environment.yaml
installieren, wird das ausgegeben
# To activate this environment, use
#
# $ conda activate test
#
# To deactivate an active environment, use
#
# $ conda deactivate
Dies deutet darauf hin, dass die Umgebung nicht aktiviert wurde.
@tdegeus Aufgrund der Funktionsweise von github-Aktionen müssen Sie zusätzliche Argumente für die Aktionen angeben, wie in der README-Datei für die verschiedenen Shells beschrieben.
- name: Conda info
shell: bash -l {0}
run: conda info
Wenn Sie shell: bash -l {0}
vorausgesetzt, Sie verwenden bash, kann die Aktion die Umgebungen nicht korrekt aktivieren.
Dies ist eine bekannte Einschränkung, Sie können hier mehr lesen
@goanpeca Das müsste ich also für jede Zeile tun, in der ich die Umgebung verwenden möchte?
Zuvor habe ich eine Aktion verwendet, die diese Einschränkung nicht hatte:
- uses: s-weigand/setup-conda<strong i="8">@v1</strong>
- run: conda --version
- run: conda env update -n base --file environment.yaml
@tdegeus
Also müsste ich das für jede Zeile machen, in der ich die Umgebung nutzen möchte?
Ja oder verwenden Sie eine Standard-Shell, wenn alle Ihre Stepps die gleiche verwenden, wie auf:
https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow -syntax-for-github-actions#jobsjob_iddefaultsrun
Zuvor habe ich eine Aktion verwendet, die diese Einschränkung nicht hatte:
Ja, diese Aktion aktiviert Umgebungen nicht richtig.
@tdegeus https://github.com/conda-incubator/setup-miniconda/pull/96 fügt Informationen zu dem hinzu, was ich im Kommentar erklärt habe.
Ich denke, wir können das Thema schließen. Sollte dies nicht der Fall sein, teilen Sie uns bitte mit, was wir noch tun können, um die Aktion zu verbessern.
Danke nochmal für die Rückmeldung :-)
Super @goanpeca , danke für die Hilfe und die PR!!
Wenn ich eine persönliche Erfahrung in der Readme geben darf, während wir diese Frage schließen:
test
ist. Ich glaube, ich habe das nirgendwo gefunden.
Hilfreichster Kommentar
Super @goanpeca , danke für die Hilfe und die PR!!
Wenn ich eine persönliche Erfahrung in der Readme geben darf, während wir diese Frage schließen:
test
ist. Ich glaube, ich habe das nirgendwo gefunden.