如何全局或永久更改Anaconda python环境

时间:2019-01-23 06:07:14

标签: python environment-variables anaconda environment

如何在全球范围内更改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,另一种使用Python3。我将Sublime用作文本编辑器,然后直接从文本编辑器构建并运行python脚本。 我遇到的问题是,仅通过使用conda activate py3更改CMD中的环境,文本编辑器仍然使用默认的基本环境来运行python脚本

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

临时解决方案

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

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

1 个答案:

答案 0 :(得分:0)

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

现在,要回答有关为何conda仅针对特定CMD更改环境的问题,说实话,请允许我回答为什么每次使用conda activate your-env命令时conda都要更改默认环境?您可以切换到python文件所在的目录,然后运行python yourfilename.py

如果您只想更改默认的解释器,则可以点击此链接here