【问题标题】:Conda: Creating a virtual environmentConda:创建虚拟环境
【发布时间】:2018-06-18 21:16:16
【问题描述】:

我正在尝试创建一个虚拟环境。我已经按照CondaMedium 的步骤进行操作。

一切正常,直到我需要 source 新环境:

conda info -e

# conda environments:
#
base                  *  /Users/fwrenn/anaconda3
test_env                 /Users/fwrenn/anaconda3/envs/test_env

source ~/anaconda3/bin/activate test_env

_CONDA_ROOT=/Users/fwrenn/anaconda3:找不到命令。 () 的位置不好。

我无法找出问题所在。在这里搜索有解决方案,说在您的 bash_profile 文件中添加行,但我不在 Bash 中工作,只有 C shell (csh)。 看起来它无法在activate 中构建目录路径。

我的资料:

  • 操作系统

  • python --version的输出:

    Python 3.6.3 :: Anaconda custom (64-bit)
    
  • conda --version的输出:

    conda 4.4.7
    

【问题讨论】:

    标签: python macos virtual environment conda


    【解决方案1】:

    我不确定是什么导致了你的问题,但下面的代码对我来说没有任何问题(OS X,与你的 Conda 版本相同)。

    环境的创造

    conda create -n test_env python=3.6.3 anaconda
    

    conda createthe documentation有些解释不清楚:

    • -n test_env 将环境名称设置为 test_env

    • python=3.6.3 anaconda 表示你想在这个环境中使用 3.6.3 版本中的 python(正是你拥有的那个,如果你需要它)并打包anaconda。你可以把所有你需要的东西放在那里,用空格分隔,例如,sqlite matplotlib requests,并以与 python 相同的方式指定它们的版本。

    激活

    conda activate test_env
    

    停用

    conda deactivate
    

    摆脱它

    conda remove -n test_env --all
    

    【讨论】:

    • 谢谢。您的回答有帮助,conda.io/docs/user-guide/tasks/manage-environments.html 也有帮助
    • 语义问题:作者询问“虚拟环境”,答案是关于“环境”。两者有区别吗?我的印象是虚拟环境更轻量级,但也许我错了
    • 一般来说是的,虚拟环境和非虚拟环境是有区别的。在这个问题的上下文中,不 - 当您使用 conda create 创建环境时,它是一个虚拟环境。
    • 文档链接已失效。我找到了this
    【解决方案2】:

    我能够解决我的问题。执行source activate test_env 命令并没有收到我的.bash_profile,我通常在tcsh 中工作。只需在 Bash 中启动一个子进程就足以让activate 工作。我想我错误地认为activate 命令会在 Bash 中启动一个子进程并使用 Bash 环境变量。

    > conda info -e
    > # conda environments:
    > #
    > base                  *  ~/anaconda3
    > test_env                 ~/anaconda3/envs/test_env
    > bash
    ~$ source ~/anaconda3/bin/activate test_env
    (test_env) ~$
    (test_env) ~$ conda info -e
    # conda environments:
    #
    test_env              *  ~/anaconda3/envs/test_env
    root                     ~/anaconda3
    

    【讨论】:

      【解决方案3】:

      检查是否安装了 Conda

      conda -V
      

      检查 Conda 是否是最新的

      conda update conda
      

      创建虚拟环境

      conda create -n yourenvname python=x.x anaconda
      

      激活您的虚拟环境

      source activate yourenvname
      

      在虚拟环境中安装额外的 Python 包

      conda install -n yourenvname [package]
      

      停用您的虚拟环境

      source deactivate
      

      删除虚拟环境

      conda remove -n yourenvname --all
      

      【讨论】:

      • conda remove -n yourenvname --all有一个拼写错误