我无法简单地激活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
指定环境名称怎么办?
你不能在文件中添加任何名称吗? 如果它不在你的仓库中,也许在使用setup-miniconda
之前用echo "name: test" >> environment.yaml
修补它?
@jaimergp当然我可以添加 CI 配方本身。 我一般不喜欢这样做,我认为在环境文件中指定名称是不必要的限制,据我所知,conda 不指定它是完全没问题的。
更广泛地说,这个动作不应该也能处理我的设置吗?
嗨@tdegeus感谢您的报告。 @jaimergp我现在不记得是否我们默认将名称“test”添加到 yaml 文件中,如果名称不在那里。
我们需要仔细检查。
在这种情况下,“默认”环境名称似乎确实是test
@goanpeca 。 但是使用上面的命令我仍然没有得到正确激活的环境。 以下是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 操作的工作方式,您需要为不同 shell 的 README 中所述的操作指定额外的参数。
- name: Conda info
shell: bash -l {0}
run: conda info
如果您不使用shell: bash -l {0}
假设您正在使用 bash,那么该操作将无法正确激活环境。
这是一个已知限制,您可以在此处阅读更多
@goanpeca所以我必须为我想在其中使用环境的每一行都这样做?
之前,我使用了一些没有此限制的操作:
- uses: s-weigand/setup-conda<strong i="8">@v1</strong>
- run: conda --version
- run: conda env update -n base --file environment.yaml
@tdegeus
所以我必须为我想要使用环境的每一行都这样做?
是的,或者如果您的所有 stepps 都使用相同的 shell,则使用默认 shell,如上所述:
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 ,感谢您的帮助和公关!!
如果我可以在关闭此问题时就自述文件提供个人经验:
test
会很棒,我认为我在任何地方都找不到。
最有用的评论
很棒的@goanpeca ,感谢您的帮助和公关!!
如果我可以在关闭此问题时就自述文件提供个人经验:
test
会很棒,我认为我在任何地方都找不到。