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

相关推荐
pk_xz12345630 分钟前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强32 分钟前
Linux之sed命令详解
linux·运维·服务器
海绵波波10739 分钟前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
九河云3 小时前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
Lary_Rock3 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
幺零九零零3 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
云飞云共享云桌面4 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
一坨阿亮6 小时前
Linux 使用中的问题
linux·运维
幺零九零零8 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge8 小时前
Docker篇(Docker Compose)
运维·docker·容器