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

相关推荐
m0_65303136几秒前
腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE PostgreSQL版)
运维·数据库·腾讯云
IC 见路不走8 分钟前
LeetCode 第91题:解码方法
linux·运维·服务器
没有名字的小羊17 分钟前
8.Docker镜像讲解
运维·docker·容器·tomcat
翻滚吧键盘21 分钟前
查看linux中steam游戏的兼容性
linux·运维·游戏
Code季风33 分钟前
深入理解微服务中的服务注册与发现(Consul)
java·运维·微服务·zookeeper·架构·go·consul
java1234_小锋35 分钟前
解释一下NGINX的反向代理和正向代理的区别?
运维·nginx
汀沿河39 分钟前
8.1 prefix Tunning与Prompt Tunning模型微调方法
linux·运维·服务器·人工智能
zly35001 小时前
centos7 ping127.0.0.1不通
linux·运维·服务器
m0_653031362 小时前
腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE MySQL版)
运维·数据库·腾讯云
power 雀儿2 小时前
集群聊天服务器---MySQL数据库的建立
服务器·数据库·mysql