【问题标题】:How can I change Anaconda python environment globally or permanently如何全局或永久更改 Anaconda python 环境
【发布时间】:2019-06-16 16:07:12
【问题描述】:

如何在 Windows 上全局更改 Anaconda python 环境?这个问题不是问我如何创建或激活环境,这些环境已经在下面列出的多个其他问题中得到了回答。这个问题要问的是如何全局或永久切换python环境,以便默认环境成为激活环境,直到再次激活另一个环境。

我知道我可以在命令提示符 (cmd) 中使用命令 conda activate my_env_name。但是,这只会更改打开的 CMD 窗口的特定实例的 python 环境。 这不会全局更改 python 环境,因此任何其他运行 python 代码的应用程序(例如:Sublime 文本编辑器)仍将使用默认的 python 环境。

目前我的系统上有两个环境,如下所示。 Base 是我安装 Anaconda2 时创建的默认 Python 2.7 环境。我创建了一个名为 py3 的新环境,即 Python 3.7。

C:\Users\MyUsername>conda env list
# conda environments:
#
base                  *  C:\Users\MyUsername\Anaconda2
py3                      C:\Users\MyUsername\Anaconda2\envs\py3

我有两个 Python 脚本,我想在适当的环境下运行它们。一个脚本使用 Python 2,另一个使用 Python 3。我使用 Sublime 作为我的文本编辑器,我直接从文本编辑器构建和运行我的 python 脚本。 我遇到的问题只是使用conda activate py3 更改 CMD 中的环境,文本编辑器仍然使用默认的基本环境来运行 python 脚本

使用conda activate my_env_name 管理多个 Python 环境的目的是什么,当它只更改特定 CMD/终端实例的环境而不是全局时?我确信有很多原因,但也许我无法更抽象地思考,因为我对 Python 的使用主要是在文本编辑器中编写脚本和执行。

临时解决方案

我发现的一个临时解决方案是编辑 用户变量Path 变量以包含我的备用 py3 环境的路径。通过转到高级系统设置>>环境变量>>用户变量,我能够管理路径变量。因此,我的 Path 变量包含 basepy3 的路径。 如果我想将默认环境切换到py3,我必须将py3路径的顺序更改为base路径之前。

虽然这个临时解决方案有效,但我总是害怕编辑 PATH 变量。我认为至少在 Windows 上的用户不必担心手动更改或更新 PATH 变量。为什么需要这个?我最初预计,当我在 Power Shell 或 CMD 中使用命令 conda activate py3 时,它会自动更改 Path 变量以将 Python 路径指向所需的备用环境。

【问题讨论】:

    标签: python environment-variables anaconda environment


    【解决方案1】:

    原因很简单,某些应用程序或项目具有某些依赖项,可能与一种环境不兼容,例如说一个项目需要 python 2.7 你显然不能在 python 3 环境中运行这个应用程序。

    现在,要回答您关于为什么 conda 仅针对特定 CMD 更改环境的问题,老实说,让我回答一下,为什么每次使用 conda activate your-env 命令时 conda 都应更改默认环境?你可以切换到你的 python 文件所在的目录并运行python yourfilename.py

    如果你只是想改变 sublime 中的默认解释器,你可以点击这个链接here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 2012-08-09
      • 2011-08-15
      • 2018-01-24
      相关资源
      最近更新 更多