Setup-miniconda: Probleme beim Erstellen einer neuen Umgebung

Erstellt am 29. Jan. 2020  ·  12Kommentare  ·  Quelle: conda-incubator/setup-miniconda

Hallo, @goanpeca!

Erstmal herzlichen Glückwunsch zu dieser Aktion! Und danke für die Bereitstellung!

Nun, leider hatte ich ein Problem in Windows-Builds mit Ihren GH-Aktionen. Ich verwende conda-devenv , um Conda-Umgebungen in einem Entwicklungsmodus zu erstellen. Es bietet erweiterte Funktionen im Vergleich zu regulären conda , ich kann Umgebungsvariablen definieren, jinja2 verwenden und so weiter.

Das Problem ist: Wenn ich meine Tests durchführe, erstelle ich eine neue Umgebung mit conda devenv . Wenn ich Ihre Aktion verwende, erhält die erstellte Umgebung aus unbekannten Gründen einen leeren Namen.

Unten stelle ich meine Windows-Build-Datei bereit:

name: windows

on:
  push:
    branches:
      - master

  pull_request:

  schedule:
    - cron: "0 5 * * 1"  # runs at 05:00 UTC on Mondays

jobs:
  build:

    runs-on: windows-latest
    env:
      configuration: Release
    strategy:
      fail-fast: true
      max-parallel: 4

    steps:
    - uses: actions/checkout<strong i="13">@v1</strong>
    - uses: goanpeca/[email protected]
      with:
        auto-update-conda: true
        activate-environment: autodiff
    - name: Install conda-devenv
      shell: powershell
      run: |
        conda install -c conda-forge conda-devenv
        conda info -a
    - name: Build
      shell: powershell
      run: |
        conda devenv
        conda info --envs
        conda activate autodiff
        cmake -S . -B build
        cmake --build build --config ${{ env.configuration }} --target install
    - name: Tests
      shell: powershell
      run: call build\test\${{ env.configuration }}\tests.exe

Ich habe sogar versucht, den gleichen Namen meiner neuen Umgebung als activate-environment , da conda-devenv problemlos eine Umgebung auf einer vorhandenen Umgebung generieren kann. Wenn ich dies tue, wird die neue Umgebung jedoch ohne Namen erstellt. Wenn ich conda info --envs im CI ausführe (nur Windows), erhalte ich die folgende Ausgabe:

2020-01-29T22:35:24.9862529Z # conda environments:
2020-01-29T22:35:24.9863192Z #
2020-01-29T22:35:24.9863428Z base                     C:\Miniconda
2020-01-29T22:35:24.9863652Z autodiff              *  C:\Miniconda\envs\autodiff
2020-01-29T22:35:24.9863862Z                          C:\Miniconda\envs\autodiff\envs\autodiff

Wisst ihr wie ich ein solches Problem lösen könnte?

Prost!

win bug

Alle 12 Kommentare

Hallo! Danke für die Rückmeldung. Ich habe conda-devenv noch nie verwendet, daher habe ich keine Lösung aus dem Kopf. Ich werde ein wenig hineinlesen, um zu sehen, was das Problem sein könnte.

Es wird ein paar Tage dauern.

Prost!

Keine Bange! Danke für die Hilfe.

Ist dies nur ein Windows-Problem @volpatto ?

Ist dies nur ein Windows-Problem @volpatto ?

Ja, unter Ubuntu oder Mac überhaupt kein Problem.

@goanpeca , ich glaube, ich habe herausgefunden, was passiert. Meine Lösung bestand vor allem darin, Folgendes festzulegen:

auto-activate-base: true
activate-environment: ''

Auf diese Weise bleibt conda in seinem Stammverzeichnis und erstellt envs im üblichen Verzeichnisbaum. Wenn wir die Umgebung tests (die von der Aktion erstellte Standardumgebung), verliert conda ihr Root-Verzeichnis. Es geht zu C:\Miniconda\envs\tests . Jede Umgebung, die danach erstellt wird, wird als C:\Miniconda\envs\tests\envs\foo . Wenn Sie conda activate foo versuchen, wird es nicht gefunden, da es bei C:\Miniconda\envs\foo . Ich würde Ihnen mit einer PR helfen, aber ich sah einige Typ-Skript-Magie in der Quelle und bekam Angst. Es tut mir wirklich leid für die Unannehmlichkeiten.

PS.: TypeScript kenne ich nicht.

Kein Problem. Ich kannte vor ein paar Monaten kein Typoskript. Ich fühle deinen Schmerz!

Also, wenn Sie diesen Workaround verwenden, funktioniert alles in Ordnung? Ist das in diesem Fall eher ein Problem mit conda devenv on win? Oder ? Ich könnte einige Informationen in der Readme-Datei für diesen Fall hinzufügen, denn was wäre die eigentliche Lösung auf der Aktionsseite?

Ja, jetzt funktioniert alles richtig!

Ich werde hier einen einfachen Test durchführen. Ich werde eine Umgebung ohne conda-devenv erstellen und sehen, was passiert. Nur eine Sekunde!

Um ehrlich zu sein, weiß ich nicht, ob dies ein Conda-Devenv-Problem ist (wahrscheinlich ist es das). Ich werde es morgen mit den Betreuern überprüfen (eigentlich arbeiten sie in einem Raum vor meinem, also fällt es mir leicht). Es ist eher ein Problem auf der Seite von Conda-Devenv. Ich finde die Aktion in Ordnung. Wenn ich eine Umgebung mit conda create -n foo , funktioniert es ordnungsgemäß und erstellt die Umgebung mit C:\Miniconda\envs\foo .

Nun, ich werde conda-devenv morgen überprüfen, um es dort zu verbessern.

Danke, dass du mir geholfen hast, @goanpeca

Prost!

Lass mich wissen, was sie gesagt haben @volpatto ;-)

Lass mich wissen, was sie gesagt haben @volpatto ;-)

Klar, ich untersuche es gerade

Ich sprach mit einem der Betreuer von conda-devenv, die Schlussfolgerung war unklar. Aber es ist definitiv kein Problem im Zusammenhang mit der GH Action-Seite.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

goanpeca picture goanpeca  ·  9Kommentare

goanpeca picture goanpeca  ·  9Kommentare

bollwyvl picture bollwyvl  ·  12Kommentare

mrmundt picture mrmundt  ·  12Kommentare

magland picture magland  ·  4Kommentare