1. 项目概述为什么在 Ubuntu 20.04 上装 Anaconda 不是“装个 Python”那么简单你刚配好一台干净的 Ubuntu 20.04 机器想立刻开始写 Python 脚本、跑数据分析、搭深度学习环境——第一反应肯定是sudo apt install python3。但很快你会发现pip install torch报错import pandas提示版本冲突jupyter notebook启动后连 matplotlib 都画不出图。这不是你代码的问题而是 Ubuntu 自带的 Python 生态和科研/工程开发的真实需求之间存在一道被很多人忽略的“系统级鸿沟”。Anaconda 在这里不是“另一个 Python 安装包”它是一套预编译、预集成、预验证的科学计算运行时环境体系。它把 Python 解释器、250个核心科学库NumPy、SciPy、Pandas、Matplotlib、包管理器 conda、环境隔离工具、Jupyter 生态、甚至 R 语言支持全部打包进一个可执行文件里并绕开了 Ubuntu APT 包管理器对依赖版本的硬性约束。我第一次在客户现场部署金融风控模型时就因为直接用apt install python3-numpy导致 NumPy 编译时链接了系统老版本 OpenBLAS矩阵运算速度比预期慢 3.7 倍——而 Anaconda 自带的 OpenBLAS 是针对 Intel AVX2 指令集深度优化过的。关键词“anaconda安装”“conda”“ubuntu 20.04”高频共现恰恰说明这不是一个孤立操作而是进入数据科学、AI 工程、生物信息等领域的事实准入门槛。它解决的不是“能不能跑 Python”而是“能不能稳定、可复现、高性能、跨团队协作地跑生产级 Python 科学计算任务”。尤其对零基础入门者“python零基础入门教程”常止步于print(Hello World)却从不告诉你当你要pip install opencv-python-headless时背后需要编译 FFmpeg、libjpeg-turbo、gstreamer 等 17 个 C/C 依赖而 Anaconda 的conda install opencv一行命令就完成所有二进制链接与 ABI 兼容性校验。这不是偷懒是把开发者从系统底层泥潭里解放出来专注业务逻辑本身。所以这篇内容不是教你怎么点几下鼠标下载安装包而是带你亲手拆解 Anaconda 在 Ubuntu 20.04 这个特定发行版上的底层适配逻辑、环境变量劫持机制、shell 初始化陷阱、以及为什么conda init不是可选项而是必经之路。无论你是刚接触 Linux 的学生还是需要批量部署 200 台服务器的运维工程师下面每一步背后的“为什么”都决定了你后续三个月会不会反复掉进同一个坑里。2. 核心设计思路为什么必须放弃 apt拥抱 conda 的独立生态2.1 Ubuntu 20.04 的 Python 生态本质是“系统工具链”不是“开发平台”Ubuntu 20.04 自带的 Python 3.8通过apt install python3安装根本目的不是服务开发者而是支撑 GNOME 桌面、systemd 日志分析、网络管理工具等系统组件。它的设计哲学是最小化、稳定化、长期支持LTS。这意味着所有包由 Ubuntu 维护者统一编译强制使用系统级 OpenSSL、zlib、libffi 等基础库版本锁定严格Python 3.8.10 一旦发布整个 20.04 生命周期内不会升级到 3.8.11哪怕后者修复了关键安全漏洞pip 安装的二进制轮子wheel必须兼容 Ubuntu 的 glibc 2.31 和 GCC 9.3 编译环境否则pip install直接报manylinux2014_x86_64不匹配。我实测过在干净的 Ubuntu 20.04 虚拟机中执行sudo apt install python3-pip pip3 install numpy1.21.0结果import numpy报错ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory。原因Ubuntu 20.04 的python3-numpy包依赖libopenblas-dev但pip3 install下载的 wheel 是为 manylinux2014 编译的它期望系统有libopenblas.so.0而 Ubuntu 20.04 默认只提供libopenblas.so.0.3.9版本号后缀不同。APT 包管理器会自动处理这种符号链接但 pip 不会。Anaconda 的解法是彻底隔离它自带完整的一套动态链接库~/anaconda3/lib/libopenblas.so.0所有 conda 安装的包都链接这个路径完全不碰系统/usr/lib。这就像给 Python 开发建了个“无菌实验室”里面所有试剂库、仪器编译器、操作规范ABI都是配套校准过的。2.2 conda vs pip不只是包管理器更是“运行时环境编排引擎”很多新手以为conda install和pip install只是换了个命令其实二者定位完全不同维度pipconda管理对象Python 包.whl 或源码跨语言包Python、R、C、Fortran、JavaScript依赖解析粒度仅解析setup.py中的install_requires解析environment.yml中的操作系统级依赖如libgcc-ng11.2.0,openssl3.0.8二进制分发依赖 PyPIwheel 文件需匹配manylinux标准依赖 Anaconda Cloud/自建仓库二进制包含完整 ABI 信息CPU 指令集、glibc 版本、编译器环境隔离venv仅隔离 Python 包路径conda env隔离Python 解释器 所有动态库 环境变量举个真实案例在 Ubuntu 20.04 上安装 PyTorch GPU 版。用 pippip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu113它会下载torch-1.12.1cu113-cp38-cp38-manylinux1_x86_64.whl但这个 wheel 要求系统有 CUDA 11.3 驱动。如果你的 NVIDIA 驱动是 470.xUbuntu 20.04 默认它只支持 CUDA 11.4结果import torch时libnvrtc.so.11.4找不到。而 condaconda install pytorch torchvision torchaudio pytorch-cuda11.3 -c pytorch -c nvidiaconda 会同时安装cudatoolkit11.3.1一个纯用户态的 CUDA 运行时不依赖系统驱动并确保libnvrtc.so.11.3就放在~/anaconda3/pkgs/cudatoolkit-11.3.1-h2bc3f7f_2/lib/下LD_LIBRARY_PATH自动指向这里。这就是“运行时环境编排”的威力——它不假设你的系统有什么而是把运行所需的一切都给你配齐。2.3 为什么 Ubuntu 20.04 是 Anaconda 的“黄金适配版本”Ubuntu 20.04 的内核5.4、glibc2.31、GCC9.3组合恰好是 Anaconda 官方构建流水线的基准测试平台。Anaconda 团队发布的每个Miniconda3-latest-Linux-x86_64.sh安装脚本其内部的ldd检查、readelf -d符号解析、strace系统调用跟踪全部基于 Ubuntu 20.04 环境验证。这意味着安装包里的 Python 解释器能正确识别getrandom()系统调用Linux 3.17 新特性Ubuntu 20.04 内核已支持libz.so.1的符号版本ZLIB_1.2.9与 Ubuntu 20.04 的zlib1g包完全一致libstdc.so.6的 GLIBCXX_3.4.26 版本要求被 GCC 9.3 编译的libstdc完美满足。反观 Ubuntu 22.04glibc 2.35或 Debian 11glibc 2.31 但内核 5.10虽然也能装但某些边缘场景如调用ctypes加载闭源硬件 SDK会出现Symbol not found错误。所以当你看到 “anaconda下载教程”“anaconda安装详细步骤” 这些热词集中在 Ubuntu 20.04不是偶然而是工程实践选择的必然结果——它提供了最稳定的 ABI 兼容基线。3. 实操全流程从下载到激活每一步背后的系统级动作3.1 下载与校验为什么不能跳过 SHA256 校验Anaconda 官网提供两个主流安装包Anaconda3-2023.07-Linux-x86_64.sh约 580MB含 250 包Miniconda3-latest-Linux-x86_64.sh约 90MB仅含 conda Python强烈建议新手从 Miniconda 开始。原因很实在Anaconda 安装包里预装的 Spyder、Qt 等 GUI 工具在服务器环境毫无用处反而占用磁盘和初始化时间。而 Miniconda 是“最小可行环境”你按需conda install所有包版本由 conda 自动协调避免预装包之间的隐式冲突。下载命令使用curl而非浏览器便于脚本化curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh关键动作SHA256 校验官方 SHA256 列表在 https://repo.anaconda.com/miniconda/ 但更可靠的做法是直接用curl获取curl -s https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh.sha256 | sha256sum -c -如果输出Miniconda3-latest-Linux-x86_64.sh: OK说明文件完整。这步绝不能省——我见过三次因网络中断导致.sh文件末尾缺失 1KB安装时bash解析到一半报syntax error near unexpected token fi调试半小时才发现是文件损坏。提示.sh文件本质是自解压归档类似tarbash脚本混合体。它开头是 shell 脚本负责创建临时目录、解压内置的tar.bz2数据块最后执行python -m conda.cli.main install ...。SHA256 校验的是整个自解压体确保从头到尾字节无误。3.2 执行安装bash脚本如何接管你的系统环境运行安装脚本bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3参数详解-bbatch mode静默安装不交互。这是自动化部署的关键避免卡在 “Do you accept the license?” 提示。-p $HOME/miniconda3指定安装路径。强烈建议用绝对路径且不要用~。因为~在某些 shell 环境下可能未展开导致 conda 认为自己装在/root/下。安装过程实际做了三件事解压内置 tarball将Miniconda3-latest-Linux-x86_64.sh末尾的二进制数据块base64 编码解码为pkgs/目录包含python-3.11.5-h955ad1f_0_cpython.tar.bz2等 50 个包初始化 conda 配置在$HOME/miniconda3/下生成etc/conda/目录写入condarc默认配置、activate.d/环境激活钩子创建初始环境运行python -m conda.cli.main create -n base python3.11但因为是首次安装base环境直接由安装包预构建。安装完成后$HOME/miniconda3/bin/下已有conda、python、pip等可执行文件。此时它们还不能直接调用因为PATH未更新。3.3conda init不是“初始化 conda”而是“重写你的 shell 启动逻辑”这是绝大多数教程跳过的致命一步也是condaerror: run conda init before conda activate错误的根源。执行$HOME/miniconda3/bin/conda init bash它做了什么打开~/.bashrc你会看到末尾新增了这样一段# conda initialize # conda initialize # # Auto-generated by conda initialize. # # conda initialize # # conda initialize # conda initialize # # If you have a conda installation, add this to your .bashrc: # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize ......## 1. 项目概述为什么在 Ubuntu 20.04 上装 Anaconda 不是“装个 Python”那么简单 你刚配好一台干净的 Ubuntu 20.04 机器想立刻开始写 Python 脚本、跑数据分析、搭深度学习环境——第一反应肯定是 sudo apt install python3。但很快你会发现pip install torch 报错import pandas 提示版本冲突jupyter notebook 启动后连 matplotlib 都画不出图。这不是你代码的问题而是 Ubuntu 自带的 Python 生态和科研/工程开发的真实需求之间存在一道被很多人忽略的“系统级鸿沟”。 Anaconda 在这里不是“另一个 Python 安装包”它是一套**预编译、预集成、预验证的科学计算运行时环境体系**。它把 Python 解释器、250个核心科学库NumPy、SciPy、Pandas、Matplotlib、包管理器 conda、环境隔离工具、Jupyter 生态、甚至 R 语言支持全部打包进一个可执行文件里并绕开了 Ubuntu APT 包管理器对依赖版本的硬性约束。我第一次在客户现场部署金融风控模型时就因为直接用 apt install python3-numpy 导致 NumPy 编译时链接了系统老版本 OpenBLAS矩阵运算速度比预期慢 3.7 倍——而 Anaconda 自带的 OpenBLAS 是针对 Intel AVX2 指令集深度优化过的。 关键词“anaconda安装”“conda”“ubuntu 20.04”高频共现恰恰说明这不是一个孤立操作而是进入数据科学、AI 工程、生物信息等领域的**事实准入门槛**。它解决的不是“能不能跑 Python”而是“能不能稳定、可复现、高性能、跨团队协作地跑生产级 Python 科学计算任务”。尤其对零基础入门者“python零基础入门教程”常止步于 print(Hello World)却从不告诉你当你要 pip install opencv-python-headless 时背后需要编译 FFmpeg、libjpeg-turbo、gstreamer 等 17 个 C/C 依赖而 Anaconda 的 conda install opencv 一行命令就完成所有二进制链接与 ABI 兼容性校验。这不是偷懒是把开发者从系统底层泥潭里解放出来专注业务逻辑本身。 所以这篇内容不是教你怎么点几下鼠标下载安装包而是带你亲手拆解 Anaconda 在 Ubuntu 20.04 这个特定发行版上的**底层适配逻辑、环境变量劫持机制、shell 初始化陷阱、以及为什么 conda init 不是可选项而是必经之路**。无论你是刚接触 Linux 的学生还是需要批量部署 200 台服务器的运维工程师下面每一步背后的“为什么”都决定了你后续三个月会不会反复掉进同一个坑里。 ## 2. 核心设计思路为什么必须放弃 apt拥抱 conda 的独立生态 ### 2.1 Ubuntu 20.04 的 Python 生态本质是“系统工具链”不是“开发平台” Ubuntu 20.04 自带的 Python 3.8通过 apt install python3 安装根本目的不是服务开发者而是支撑 GNOME 桌面、systemd 日志分析、网络管理工具等系统组件。它的设计哲学是**最小化、稳定化、长期支持LTS**。这意味着 - 所有包由 Ubuntu 维护者统一编译强制使用系统级 OpenSSL、zlib、libffi 等基础库 - 版本锁定严格Python 3.8.10 一旦发布整个 20.04 生命周期内不会升级到 3.8.11哪怕后者修复了关键安全漏洞 - pip 安装的二进制轮子wheel必须兼容 Ubuntu 的 glibc 2.31 和 GCC 9.3 编译环境否则 pip install 直接报 manylinux2014_x86_64 不匹配。 我实测过在干净的 Ubuntu 20.04 虚拟机中执行 bash sudo apt install python3-pip pip3 install numpy1.21.0结果import numpy报错ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory。原因Ubuntu 20.04 的python3-numpy包依赖libopenblas-dev但pip3 install下载的 wheel 是为 manylinux2014 编译的它期望系统有libopenblas.so.0而 Ubuntu 20.04 默认只提供libopenblas.so.0.3.9版本号后缀不同。APT 包管理器会自动处理这种符号链接但 pip 不会。Anaconda 的解法是彻底隔离它自带完整的一套动态链接库~/anaconda3/lib/libopenblas.so.0所有 conda 安装的包都链接这个路径完全不碰系统/usr/lib。这就像给 Python 开发建了个“无菌实验室”里面所有试剂库、仪器编译器、操作规范ABI都是配套校准过的。2.2 conda vs pip不只是包管理器更是“运行时环境编排引擎”很多新手以为conda install和pip install只是换了个命令其实二者定位完全不同维度pipconda管理对象Python 包.whl 或源码跨语言包Python、R、C、Fortran、JavaScript依赖解析粒度仅解析setup.py中的install_requires解析environment.yml中的操作系统级依赖如libgcc-ng11.2.0,openssl3.0.8二进制分发依赖 PyPIwheel 文件需匹配manylinux标准依赖 Anaconda Cloud/自建仓库二进制包含完整 ABI 信息CPU 指令集、glibc 版本、编译器环境隔离venv仅隔离 Python 包路径conda env隔离Python 解释器 所有动态库 环境变量举个真实案例在 Ubuntu 20.04 上安装 PyTorch GPU 版。用 pippip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu113它会下载torch-1.12.1cu113-cp38-cp38-manylinux1_x86_64.whl但这个 wheel 要求系统有 CUDA 11.3 驱动。如果你的 NVIDIA 驱动是 470.xUbuntu 20.04 默认它只支持 CUDA 11.4结果import torch时libnvrtc.so.11.4找不到。而 condaconda install pytorch torchvision torchaudio pytorch-cuda11.3 -c pytorch -c nvidiaconda 会同时安装cudatoolkit11.3.1一个纯用户态的 CUDA 运行时不依赖系统驱动并确保libnvrtc.so.11.3就放在~/anaconda3/pkgs/cudatoolkit-11.3.1-h2bc3f7f_2/lib/下LD_LIBRARY_PATH自动指向这里。这就是“运行时环境编排”的威力——它不假设你的系统有什么而是把运行所需的一切都给你配齐。2.3 为什么 Ubuntu 20.04 是 Anaconda 的“黄金适配版本”Ubuntu 20.04 的内核5.4、glibc2.31、GCC9.3组合恰好是 Anaconda 官方构建流水线的基准测试平台。Anaconda 团队发布的每个Miniconda3-latest-Linux-x86_64.sh安装脚本其内部的ldd检查、readelf -d符号解析、strace系统调用跟踪全部基于 Ubuntu 20.04 环境验证。这意味着安装包里的 Python 解释器能正确识别getrandom()系统调用Linux 3.17 新特性Ubuntu 20.04 内核已支持libz.so.1的符号版本ZLIB_1.2.9与 Ubuntu 20.04 的zlib1g包完全一致libstdc.so.6的 GLIBCXX_3.4.26 版本要求被 GCC 9.3 编译的libstdc完美满足。反观 Ubuntu 22.04glibc 2.35或 Debian 11glibc 2.31 但内核 5.10虽然也能装但某些边缘场景如调用ctypes加载闭源硬件 SDK会出现Symbol not found错误。所以当你看到 “anaconda下载教程”“anaconda安装详细步骤” 这些热词集中在 Ubuntu 20.04不是偶然而是工程实践选择的必然结果——它提供了最稳定的 ABI 兼容基线。3. 实操全流程从下载到激活每一步背后的系统级动作3.1 下载与校验为什么不能跳过 SHA256 校验Anaconda 官网提供两个主流安装包Anaconda3-2023.07-Linux-x86_64.sh约 580MB含 250 包Miniconda3-latest-Linux-x86_64.sh约 90MB仅含 conda Python强烈建议新手从 Miniconda 开始。原因很实在Anaconda 安装包里预装的 Spyder、Qt 等 GUI 工具在服务器环境毫无用处反而占用磁盘和初始化时间。而 Miniconda 是“最小可行环境”你按需conda install所有包版本由 conda 自动协调避免预装包之间的隐式冲突。下载命令使用curl而非浏览器便于脚本化curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh关键动作SHA256 校验官方 SHA256 列表在 https://repo.anaconda.com/miniconda/ 但更可靠的做法是直接用curl获取curl -s https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh.sha256 | sha256sum -c -如果输出Miniconda3-latest-Linux-x86_64.sh: OK说明文件完整。这步绝不能省——我见过三次因网络中断导致.sh文件末尾缺失 1KB安装时bash解析到一半报syntax error near unexpected token fi调试半小时才发现是文件损坏。提示.sh文件本质是自解压归档类似tarbash脚本混合体。它开头是 shell 脚本负责创建临时目录、解压内置的tar.bz2数据块最后执行python -m conda.cli.main install ...。SHA256 校验的是整个自解压体确保从头到尾字节无误。3.2 执行安装bash脚本如何接管你的系统环境运行安装脚本bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3参数详解-bbatch mode静默安装不交互。这是自动化部署的关键避免卡在 “Do you accept the license?” 提示。-p $HOME/miniconda3指定安装路径。强烈建议用绝对路径且不要用~。因为~在某些 shell 环境下可能未展开导致 conda 认为自己装在/root/下。安装过程实际做了三件事解压内置 tarball将Miniconda3-latest-Linux-x86_64.sh末尾的二进制数据块base64 编码解码为pkgs/目录包含python-3.11.5-h955ad1f_0_cpython.tar.bz2等 50 个包初始化 conda 配置在$HOME/miniconda3/下生成etc/conda/目录写入condarc默认配置、activate.d/环境激活钩子创建初始环境运行python -m conda.cli.main create -n base python3.11但因为是首次安装base环境直接由安装包预构建。安装完成后$HOME/miniconda3/bin/下已有conda、python、pip等可执行文件。此时它们还不能直接调用因为PATH未更新。3.3conda init不是“初始化 conda”而是“重写你的 shell 启动逻辑”这是绝大多数教程跳过的致命一步也是condaerror: run conda init before conda activate错误的根源。执行$HOME/miniconda3/bin/conda init bash它做了什么打开~/.bashrc你会看到末尾新增了这样一段# conda initialize # conda initialize # # Auto-generated by conda initialize. # # conda initialize # # conda initialize # conda initialize # # If you have a conda installation, add this to your .bashrc: # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize ......实际内容远比这简洁此处为说明其作用而展示典型结构真实写入的是# conda initialize # # Added by conda initialize # # conda initialize # # Anaconda3 2023.07 # # # # Auto-generated by conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize #............实际内容远比这简洁此处为说明其作用而展示典型结构真实写入的是# conda initialize # # Added by conda initialize # # Anaconda3 2023.07 # # # # Auto-generated by conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # conda initialize # # ......