切换服务器上自己用户目录下的 conda 环境和一个外部的 Conda 环境

如果我们有自己的 Miniconda 安装和一个外部的 Conda 环境(比如一个全局安装的 Anaconda),我们可以通过修改 shell 环境来切换使用它们。这通常涉及到更改 PATH 环境变量,以便指向你想要使用的 Conda 安装的可执行文件:

1. 确定 Conda 安装的路径

首先,我们需要知道每个 Conda 安装的路径。通常,Conda 的可执行文件位于安装目录下的 bin 子目录中。例如:

对于 Miniconda,路径可能类似于 /home/username/miniconda3/bin。

对于全局安装的 Anaconda,路径可能类似于 /usr/local/anaconda3/bin。

2. 更新 PATH 环境变量

接下来,我们需要更新 PATH 环境变量以包含你想使用的 Conda 安装的路径。可以在命令行中临时执行这一更改,也可以更新你的 shell 配置文件(如 .bashrc 或 .bash_profile)进行永久更改。

临时更改

在终端执行以下命令(以切换到全局安装的 Anaconda 为例):

bash 复制代码
export PATH=/usr/local/anaconda3/bin:$PATH

这将仅影响当前的终端会话。

永久更改

编辑你的.bashrc.bash_profile 文件,添加上面的 export 命令。然后,重新加载配置文件或开启新的终端会话。

bash 复制代码
nano ~/.bashrc  # 或者使用你喜欢的文本编辑器
# 添加 export 命令
source ~/.bashrc  # 重新加载配置

3. 激活 Conda 环境

一旦 PATH 更新,你应该能够通过以下命令激活 Conda 环境:

bash 复制代码
conda activate myenv

将 myenv 替换为你想要激活的环境名。

注意

  • 更改 PATH 环境变量会影响你的 shell 如何查找命令,包括 conda。确保你将正确的 Conda 安装路径放在 PATH 的前面。
  • 在同一台机器上管理多个 Conda 安装可能会导致混淆,尤其是在处理不同的环境和依赖时。尽量保持环境的清晰和一致性。(一般安装多个conda仅在自己当前用户没有权限去修改全局conda的情况)。
  • 永久更改(通过编辑 .bashrc 或 .bash_profile)将在重新登录或开启新的终端会话后生效。

4. 如果重新进入终端后,仍然是你用户目录下的 conda 而不是期望的外部 conda 环境,那可能是因为你的用户配置文件(如 .bashrc 或 .bash_profile)中设置的 PATH 变量默认指向了你的 Miniconda 安装。这种情况下,需要检查和修改这些配置文件,以确保它们指向正确的 Conda 安装路径。

  • 检查配置文件
bash 复制代码
vim ~/.bashrc
  • 查找 Conda 初始化代码
    在这些文件中,查找与 Conda 初始化相关的代码段。它通常看起来像这样:
bash 复制代码
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/username/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
...
# <<< conda initialize <<<
  • 注释或修改初始化代码

    注释掉:如果你想暂时停用 Miniconda,可以通过在每行前面添加 # 来注释掉这段代码。

    修改路径:如果你想改为使用全局 Anaconda 安装,修改路径指向全局 Anaconda 的 bin 目录。

  • 重复上面的[1],[2],[3]步骤。

相关推荐
Dklau-c7 分钟前
『Linux_网络』 第一章 网络基础概念
linux·服务器·网络
Pseudo…7 分钟前
linux shell编程规范与变量(一)
linux·运维·服务器
Gold Steps.10 分钟前
真实企业级K8S故障案例:ETCD集群断电恢复与数据保障实践
服务器·k8s·高可用·故障恢复
Gold Steps.10 分钟前
基于Kubeadm实现K8S集群扩缩容指南
运维·容器·k8s
Z字小熊饼干爱吃保安21 分钟前
nginx介绍和几种安装方法
linux·运维·nginx·云计算
s_little_monster41 分钟前
【Linux】线程控制函数
linux·运维·服务器·经验分享·笔记·学习·学习方法
vortex52 小时前
探索 Shell 中的扩展通配符:从 Bash 到 Zsh
linux·运维·bash·shell·zsh
czhc11400756632 小时前
网络3 子网掩码 划分ip地址
服务器·网络·tcp/ip
不爱学英文的码字机器2 小时前
[操作系统] 进程间通信:system V共享内存
linux·服务器·ubuntu
秋名RG2 小时前
计算机网络起源
服务器·网络·计算机网络