我正在使用conda 4.6.8在Travis CI的conda env中测试python软件包。我想在Travis CI配置中用新的overflow-y
command替换旧的<div class="timeline" [ngStyle]="{'left':getXPos() + '%', 'transition': 'all 0.5s ease'}">
<div *ngFor="let date of dates; let i = index" class="date">
<div class="goal_wrap goal_real_estate {{i === clickIndex ? 'active bounce' : ''}}" (click)="selectStage(i)">
<i class="fa fa-building" aria-hidden="true"></i>
</div>
<p class="focus">
<a href="#">{{date}}</a>
</p>
</div>
</div>
行。如果我在Travis上运行它:
source activate ENVNAME
如何在Travis上“关闭并重新打开”我的外壳?因为否则我将无法激活我的conda环境:
conda activate ENVNAME
答案 0 :(得分:1)
不确定当前是否支持它作为官方文档still uses source
in travis.yml。
conda init
做什么?此新命令应协调用户设置外壳程序以调用conda activate
的方式。
实际上,如果您运行conda init --dry-run --verbose
,您会看到它尝试从conda.sh
来获取~/.bashrc
(假设您正在运行Bash,则来自问题中提到的信息)。< / p>
然后conda.sh
将定义一个conda()
函数,该函数将捕获一些命令,其中activate
和deactivate
并分发到$CONDA_EXE
:
conda() {
if [ "$#" -lt 1 ]; then
"$CONDA_EXE"
else
\local cmd="$1"
shift
case "$cmd" in
activate|deactivate)
__conda_activate "$cmd" "$@"
;;
install|update|upgrade|remove|uninstall)
"$CONDA_EXE" "$cmd" "$@" && __conda_reactivate
;;
*) "$CONDA_EXE" "$cmd" "$@" ;;
esac
fi
}
因此,除非在本地外壳程序中定义了此函数,否则您将无法调用conda activate
。
我可以建议的唯一提示是先尝试source $(conda info --root)/etc/profile.d/conda.sh
,然后尝试conda activate
。该操作应与conda init
大致相同,假设您使用的是Bourne Shell导数。
对于csh
,有$(conda info --root)/etc/profile.d/conda.csh
,对于fish
,有$(conda info --root)/etc/fish/conf.d/conda.fish
注意:尽管未针对Travis CI进行过测试,但该解决方案对bash而言对我有效。当然,应该在PATH
中找到conda可执行文件,以使conda info --root
正常工作。