在同一脚本中创建和激活Conda环境

艾莉亚·麦卡锡(Arya McCarthy)

我正在尝试编写同时使用conda的安装程序pip我想激活conda要调用环境pip,但是在同一脚本中执行此操作会导致问题。

#!/usr/bin/env bash
set -euo pipefail

conda create -y --name myenv python=3.6
conda init bash
conda activate myenv
# Perform pip-based installation here.

步骤运行bash setup-environment.sh失败conda activate

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

虽然知道重新启动Shell可以解决问题会有所帮助,但我无法在脚本中执行此操作。有解决方法吗?

梅尔

在登录模式下运行bash应该可以工作,例如,

bash -l setup-environment.sh

注意,conda init脚本中的是多余的-它编辑,.bash_profile但实际上并不初始化当前的bash会话。用户只需执行一次即可。因此,脚本应更改为

#!/usr/bin/env bash -l
set -euo pipefail

conda create -y --name myenv python=3.6 pip
conda activate myenv
# Perform pip-based installation here.

你可以像这样运行它./setup-environment.sh


替代解决方案:使用YAML环境定义

诚然,我缺少您可能在脚本中计划的其他部分,但是使用Conda YAML环境定义可以更简洁地完成显示的所有内容例如,如果您编写如下的YAML文件:

肌醇

name: myenv
channels:
 - defaults
dependencies:
 - python=3.6
 - pip
 - pip:
   - some_pkg

然后运行

conda env create -f myenv.yaml

它将完全执行您的脚本所执行的操作,包括所有pip安装。您可以在pip中运行的所有命令requirements.txt都可以包含在YAML中。请参阅Conda GitHub中的Advanced Pip Example

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用同一脚本创建多个文件

更新在同一脚本中添加的列

bash,并期望在同一脚本中?

使用PHP创建表单并在同一脚本中处理数据

是否可以在同一脚本中创建表并添加索引

无法删除在同一脚本中创建的表

如何使用在同一脚本中创建的文件

尝试使用列表在 Unity 中创建同一脚本的多个实例

从用同一脚本编译的ac程序中退出shell脚本

限制同一脚本的多次执行

JavaScript函数-从同一脚本调用

同一脚本的结果不同

Netsuite-多次调度同一脚本

jQuery在同一脚本中加载

如何插入到名称存储为同一脚本内变量的表中?

如何在同一脚本中安装和导入python模块?

在同一脚本中调用DSC之前如何安装和导入模块?

如何在ARM模板中多次运行同一脚本?

按下HTML按钮时如何运行PHP代码(在同一脚本中)

如何安排RDS快照并在同一脚本中还原

同一脚本中的window.open和window.location

如何在PHP的同一脚本中读取上载的文档?

如何在同一脚本中强制下载不同的.pdf文件?

如何通过单击不同的按钮在同一脚本中执行不同的功能

我可以使用脚本将终端环境更改为 bash shell,然后在同一脚本中更改 shell 后执行其他命令吗?

从同一脚本调用浮点数在我的 Unity C# 脚本中不起作用

jQuery fadeTo不与放置在同一脚本标签中的img标签一起使用

在javascript中,只有在同一脚本标签中定义的函数调用才有效

在同一脚本中两次运行模型会在Tensorflow中产生不同的结果