首页 > 解决方案 > 在 MacOS 上设置 Intel One API 框架 - 当我执行“source /opt/intel/oneapi/setvars.sh”时如何减少 conda 的加载时间

问题描述

我在 MacOS 11.3 Big Sur 上,使用 Intel 的框架 OneAPI。

要加载所有环境变量,我将其放入~/.zshrc

source /opt/intel/oneapi/setvars.sh

在我使用 OneAPI 的 Conda 之前,启动新终端并获得提示的时间是可以接受的(2-3 秒)。

但是由于我使用的是 OneAPI 的 Conda,启动并得到提示需要很长时间(至少 10 秒):非常烦人。

我尝试使用配置文件进行setvars.sh采购:

source /opt/intel/oneapi/setvars.sh --config="/opt/intel/oneapi/config_setvars.txt" > /dev/null

config_setvars.txt

default=exclude
mkl=latest
idp=latest

但是仍然需要太多时间(~ 8 秒)才能获得启动终端的提示。

有没有办法激活conda(和相关的环境变量)与源文件setvars.sh或修改config_setvars.txt

事实上,要知道是否conda被激活,我做了一个简单的 shell 函数:

function isconda() {
 answer=$(echo $CONDA_DEFAULT_ENV)
 if [ -z "$answer" ];
   then print "NO CONDA ACTIVATED"
   else
   print "YES CONDA ACTIVATED"
 fi
}

我没有anacondaminiconda我不想安装它们。

这是我的~/.condarc

auto_activate_base: false
auto_update_conda: false
channels:
  - conda-forge
  - https://conda.anaconda.org/intel/osx-64
  - https://conda.anaconda.org/jdblischak/osx-64
  - defaults
channel_priority: flexible

我怀疑采购会/opt/intel/oneapi/setvars.sh调用所有环境,尤其是conda这就是为什么加载所有内容需要很长时间:如何防止加载所有这些环境?

我现在不知道该怎么办,在iTerm2上启动新终端时如何才能更快地得到提示?

更新

(1) 我意识到,由于我使用的是 Intel OneAPI 的 Conda,所以我没有更多python Intel

$ python
Python 3.7.10 | packaged by conda-forge | (default, Feb 19 2021, 15:59:12)
[Clang 11.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(.startup.py)

正常吗?

(2) 当我执行ls命令 into时ls /opt/intel/oneapi/intelpython/python3.7,我得到一堆文件:

extract_packages_ipy.sh
condainstall.py
ReleaseNotes.txt
setup_scripts
generate_urlstxt.sh
shell
envs
libexec
etc
var
fonts
man
sbin
share
env
licensing
include
sys_check
lib
ssl
pkgs
bin
conda-meta
condabin

这一堆文件是否会导致长时间加载位于的所有 intelpython 库/opt/intel/oneapi/intelpython/python3.7

确实,当我执行 setvars.sh 的采购时,在 intelpython 库级别上花费的时间最长,所以我想知道我的问题是否来自于此。

此外,获取以下文件需要很长时间:

source /opt/intel/oneapi/intelpython/python3.7/env/vars.sh

有关系吗?

标签: pythonterminalcondazshintel

解决方案


推荐阅读