python - 在 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
}
我没有anaconda
或miniconda
我不想安装它们。
这是我的~/.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
有关系吗?
解决方案
推荐阅读
- r - How to calculate all pairwise abs differences among many variables in R
- javascript - CSS Global margin not working inside @media
- android - How to create user from android and save it to firebase?
- c++ - How to change the operand type in the instruction from 32bit to 64bit in LLVM?
- python - matplotlib 中 SARIMAX 绘图的问题
- node.js - 为什么节点 js 服务器将 cookie 发送给邮递员而不是在本地主机上对应用程序做出反应
- javascript - 选择自动格式化的 jQuery
- python - 使用 Django 将 Python 转换为 html
- angular - 角度如何在编辑模式下上传图像并将图像检索为字符串?
- crypto++ - 如何在 CryptoPP 中获取 ECDSA 公钥的原始位?