base
環境をアクティブ化するだけで問題が発生します。 これが私のレシピの抜粋です:
- 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
私は得ています
Error: To activate "base" environment use the "auto-activate-base" action input!
実際に機能するように改善するにはどうすればよいですか?
と置換する:
- 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
ありがとう@jaimergp 。 environment.yaml
で環境名が指定されていない場合はどうなりますか?
ファイルに名前を追加できませんか? それはあなたのレポでない場合は、多分にそれをパッチecho "name: test" >> environment.yaml
使用する前に、 setup-miniconda
?
@jaimergp確かにCIレシピ自体に追加できます。 私は一般的にそれをするのは好きではありません、私は環境ファイルで名前を指定することは不必要に制限されていると思います、そして私が知る限り、condaがそれを指定しないことは完全に問題ありません。
もっと広く言えば、アクションは私のセットアップにも対処できるべきではありませんか?
こんにちは@tdegeusレポートをありがとう。 @jaimergp名前がyamlファイルにない場合、デフォルトで「test」という名前をyamlファイルに追加すると、今は思い出せません。
再確認する必要があります。
実際、「デフォルト」の環境名は、この場合は@goanpecaでtest
ようです。 しかし、上記のコマンドを使用しても、正しくアクティブ化された環境は得られません。 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
最後のコマンド出力:
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
実際、 environment.yaml
にパッケージをインストールする行の世話をすると、次のように出力されます。
# To activate this environment, use
#
# $ conda activate test
#
# To deactivate an active environment, use
#
# $ conda deactivate
環境がアクティブ化されていないことを示唆しています。
@tdegeus githubアクションの仕組みのため、さまざまなシェルのREADMEで説明されているように、アクションに追加の引数を指定する必要があります。
- name: Conda info
shell: bash -l {0}
run: conda info
bashを使用していると仮定してshell: bash -l {0}
を使用しない場合、アクションは環境を正しくアクティブ化できません。
これは既知の制限です。詳細はこちらをご覧
@goanpecaでは、環境を使用するすべての行に対してこれを行う必要がありますか?
以前は、この制限がないアクションを使用しました。
- uses: s-weigand/setup-conda<strong i="8">@v1</strong>
- run: conda --version
- run: conda env update -n base --file environment.yaml
@tdegeus
それで、私は環境を使いたいすべての行に対してそれをしなければならないでしょうか?
はい、または以下で説明するように、すべてのステップで同じシェルを使用する場合は、デフォルトのシェルを使用します。
https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow -syntax-for-github-actions#jobsjob_iddefaultsrun
以前は、この制限がないアクションを使用しました。
はい、そのアクションは環境を適切にアクティブ化していません。
@tdegeus https://github.com/conda-incubator/setup-miniconda/pull/96は、コメントで説明した内容に関する情報を追加します。
問題を解決できると思います。 そうでない場合は、アクションを改善するために他に何ができるかをお知らせください。
フィードバックをありがとう:-)
素晴らしい@goanpeca 、助けとPRに感謝します!!
この質問を閉じるときに、Readmeで個人的な経験をすることができます。
test
であることを文書化するのは素晴らしいことですが、どこにも見つからなかったと思います。
最も参考になるコメント
素晴らしい@goanpeca 、助けとPRに感謝します!!
この質問を閉じるときに、Readmeで個人的な経験をすることができます。
test
であることを文書化するのは素晴らしいことですが、どこにも見つからなかったと思います。