切换服务器上自己用户目录下的 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]步骤。

相关推荐
看见繁华15 分钟前
Linux 交叉编译实践笔记
linux·运维·笔记
咕噜企业分发小米20 分钟前
直播云服务器安全防护有哪些最新的技术趋势?
运维·服务器·安全
空城雀26 分钟前
python精通连续剧第一集:简单计算器
服务器·前端·python
秋风未动蝉已先觉28 分钟前
CentOs服务器 systemctl执行权限授权给普通权限work用户
linux·服务器
cly130 分钟前
Ansible自动化(十五):加解密详解
运维·自动化·ansible
程序员zgh33 分钟前
Linux 系统调用
linux·运维·服务器·c语言·c++·系统安全
cly11 小时前
Ansible自动化(十二):Jinja2过滤器
运维·自动化·ansible
P-ShineBeam1 小时前
八卡A100服务器坏卡引发 CUDA initialization: cudaGetDeviceCount()异常
运维·服务器·人工智能·语言模型
Xの哲學1 小时前
Linux io_uring 深度剖析: 重新定义高性能I/O的架构革命
linux·服务器·网络·算法·边缘计算
萤丰信息1 小时前
开启园区“生命体”时代——智慧园区系统,定义未来的办公与生活
java·大数据·运维·数据库·人工智能·生活·智慧园区