【问题标题】:How to still using anaconda Python3 after activate a conda environment?激活 conda 环境后如何仍然使用 anaconda Python3?
【发布时间】:2019-06-24 09:52:21
【问题描述】:

我使用的是 MAC OS 并安装了 python2,然后是 miniconda python2,然后是 Anaconda python3。

现在通常在终端中我的 python 版本是 python3,但如果我激活 conda 环境“测试”,那么默认 python 将是 python2。

我相信原因是$PATH被改变了,在“base”环境(终端启动时),起始部分是"/anaconda3/bin:/anaconda3/condabin",在"conda activate env"之后,它变成了"/anaconda3/envs/test/bin:/anaconda3/condabin",没有python3 在那些 bin 文件夹中。

有没有使用Anaconda的python3制作conda环境的方法?

我尝试创建一个链接(符号链接和硬链接)/anaconda3/envs/test/bin/python -> /anaconda3/bin/python.这样,anaconda python3就可以在conda env里面启动了。然后我发现 pip 仍然无法访问。我认为也可以创建一个 pip 链接文件。但是我想这不是使用 conda 环境的正确方法吗?

(base) $which python
/anaconda3/bin/python
(base) $which pip
/anaconda3/bin/pip

(base) $conda activate test
(test) $which python
/usr/bin/python
(test) $which pip
'''no result'''

我希望创建的 conda env 使用与 base env 中相同的 python3,并且可以使用 pip,无需设置符号或硬链接。

【问题讨论】:

    标签: python pip anaconda version conda


    【解决方案1】:

    激活 conda 环境后,您将使用该环境中的 Python 版本。 pip 将自动安装到活动的 conda 环境中,除非您采取措施破坏它,例如通过调用另一个 pip 安装而不是来自当前环境的安装。

    如果您想使用不同的 Python,请不要激活 conda 环境。如果您想在环境中使用特定版本的 Python,请将该版本安装到该环境中。在环境中,您只能(合理地)使用安装在环境中的 Python 版本。

    顺便说一句,同时安装不同版本的 Anaconda 或 Miniconda 是没有意义的。只需安装 Miniconda 并为其他一切创建 conda 环境。将包anaconda 安装到环境中以获取Anaconda 自带的包。

    【讨论】:

    • 是的,我同意安装不同版本的 conda 是没有意义的。我想我应该做的是创建一个预先安装了python和pip的新环境。意思不是“conda create --name test”,我应该做“conda create --name test python pip”。谢谢。
    【解决方案2】:

    我想你已经在 $PATH 中添加了“/usr/bin/python”的路径。因此,在从特定 conda 环境中执行 python 时,您将被重定向到使用“/usr/bin/python”而不是“/anaconda3/bin/python”。您可以通过

    检查路径

    $$PATH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-08
      • 2013-12-03
      • 2016-11-28
      • 2021-01-16
      • 2019-09-06
      相关资源
      最近更新 更多