• 在指定目录下建立conda虚拟环境后发现没有环境名(激活失败)的解决办法


    1.背景

    一般来说,大家在使用conda建立虚拟环境时都是默认C盘。具体地,大家可以使用 conda env list 进行查看。如下,可以看到我师兄机上的虚拟环境基本都在C盘。因此,C盘也快爆了。

    在这里插入图片描述

    2.在指定目录下建立conda虚拟环境

    具体地,可以使用conda create --prefix=your_path python=X.X来在指定目录下建立conda虚拟环境。以D盘为例,如下:

    conda create --prefix=D:/2023XinXiaoYan/envs/my_env python=3.8
    
    • 1

    其中,D:/2023XinXiaoYan/envs是我指定的用于建立conda虚拟环境的目录,my_env是我虚拟环境的名字,大家对应修改为自己的即可。python=3.8表示python的版本号为3.8。

    3.可能会出现的一些问题

    根据上述命令建立了conda虚拟环境后,然后接着conda activate your_env_name。结果发现出错了,如下:

    在这里插入图片描述

    如果你输入conda env list就会发现,虚拟环境虽然是创建成功了,但是没有名字呀

    在这里插入图片描述

    这时我们可以输入conda config --show envs_dirs来查看一下当前的环境目录,如下。可以看到我们新建立的环境目录没有加进来

    在这里插入图片描述

    因此,使用conda config --append envs_dirs your_path将我们的目录加进来。具体地,以我为例,如下。

    在这里插入图片描述

    加完环境目录后,再conda env list就可以看到我们的虚拟环境彻底建好了。

    在这里插入图片描述

    此时,我们再对虚拟环境进行激活,如下:

    在这里插入图片描述

    可以看到,成功进入了自己的虚拟环境。接着,我们就可以在自己的虚拟环境里下载或卸载各种包,而不用担心影响其他人的虚拟环境了。

    如果下载完包,不用自己的虚拟环境了,就可以输入conda deactivate退出,如下。

    在这里插入图片描述

    这样就不用担心别人一不小心在自己虚拟环境里操作了。

    4.温馨提示

    • 其实,如果是在已有的环境目录下建立虚拟环境,就不会出现第3部分的问题。出现该问题往往都是第一次在某个地方建立虚拟环境由于没有添加环境目录所导致的,因此,只要我们按步骤把虚拟环境加进去就好了。
    • 另外,如果我们现在C盘的虚拟环境很好,仅仅是因为C盘内存不够,那么也是可以直接把C盘的虚拟环境直接剪切到其他盘的,我们只需要按照第三部分添加好相关的目录环境即可。

    5.一些常用conda命令

    • conda activate your_env_name 进入你的虚拟环境(your_env_name)

    • conda list 查看当前环境安装了哪些包

    • conda deactivate 退出虚拟环境

    • conda env list 查看当前存在哪些虚拟环境

    • conda env remove --name your_env_name 删除虚拟环境(your_env_name)

    • 如果上面这个删除不成功就使用conda remove -p your_env_path --all进行删除,如下。
      在这里插入图片描述
      在这里插入图片描述

    • conda config --show envs_dirs 查看当前的虚拟环境目录

    • conda config --append envs_dirs your_envs_dirs_path 添加虚拟环境目录(your_envs_dirs_path)

    • conda config --remove envs_dirs your_envs_dirs_path 删除不用的虚拟环境目录(your_envs_dirs_path)

    如果神还不帮你,说明他相信你,让我们一起加油!

  • 相关阅读:
    [转]x86_64的基本架构
    国外ATG网络进展及余割平方波束ATG地面天线设计
    【精讲】vue框架 路由守卫(前后置)等
    SpringBoot集成JWT(极简版):
    Spring循环依赖
    二叉搜索树
    4、Flink执行模式(流/批)详解(下)
    数据库(mysql)主从复制与读写分离
    DOM 重点核心
    Java String.format()方法具有什么功能呢?
  • 原文地址:https://blog.csdn.net/qq_40968179/article/details/127584615