我已经安装了Anaconda并创建了两个额外的环境:py3k(包含Python 3.3)和py34(包含Python 3.4)。除此之外,我还有一个名为“root”的默认环境,它是Anaconda安装程序默认创建的,并保存Python 2.7。最后一个是默认的,每当我从终端启动'ipython'时,它都会给我2.7版本。为了使用Python 3.4,我需要发出命令(在shell中)

source activate py34
ipython

将默认环境更改为Python 3.4。这很好,但这很烦人,因为大部分时间我都在使用Python 3.4,而不是Python 2.7(我使用Python 2.7是为了教学目的,说来话长)。无论如何,我想知道如何将默认环境更改为Python 3.4,请记住,我不想从头开始重新安装所有内容。


当前回答

尝试了source activate default_3_9和source conda activate default_3_9

但是conda激活了default_3_9

其他回答

只要在加载终端/shell时激活py34环境即可。

如果您使用Bash,请输入以下语句:

conda activate py34

在你的.bash_profile(或.bashrc)中:

$ echo 'conda activate py34' >> ~/.bash_profile

每次运行新终端时,都会加载conda环境py34。

在Windows上,用下面的代码创建一个批处理文件:

start cmd /k "C:\Anaconda3\Scripts\activate.bat C:\Anaconda3 & activate env"

引号中包含的第一个路径是Anaconda安装中activate.bat文件的路径。系统上的路径可能不同。activate命令后面的名称当然应该是您想要的环境名称。

然后在需要打开Anaconda提示时运行批处理文件。

永久不变的

conda install python={version}

临时改变

查看环境

在终端窗口或Anconda提示符上运行conda info——envs

如果它没有显示要安装的环境

执行conda create -n py36 python=3.6 anaconda for python 3.6更改版本

激活一个环境(使用Anaconda提示符)

运行activate envnme envnme,你可以通过命令conda info——envs找到envnme,作为一个例子,当你运行conda info——envs it show时

base * C:\Users\DulangaHeshan\Anaconda3 py36 C:\Users\ DulangaHeshan \ Anaconda3 \ env \ py36

然后执行activate py36

执行python——version命令查看

在Windows中,在激活另一个环境之前禁用一个环境是一种良好的实践。 https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html?highlight=deactivate%20environment

如果您只是想暂时转换到另一个环境,请使用

source activate environment-name

ETA:这个可能不推荐。我认为当前正确的命令是:

source conda activate environment-name

(可以使用conda create创建environment-name)


要永久地更改,除了创建一个运行上述代码的启动脚本外,没有其他方法。


通常情况下,最好是创造新的环境。但是,如果你真的想在默认环境下更改Python版本,你可以这样做:

首先,通过运行确保您拥有最新版本的conda

conda update conda

然后运行

conda install python=3.5

这将尝试将根环境中的所有包更新到Python 3版本。如果不可能(例如,因为某些包不是为Python 3.5构建的),它会给你一个错误消息,指出是哪个包引起了这个问题。

如果您使用pip安装了包,则必须重新安装它们。

正确答案(截至2018年12月)是……你不能。升级conda install python=3.6可能会工作,但如果你有必要的包,但不能卸载,则可能不会。

Anaconda uses a default environment named base and you cannot create a new (e.g. python 3.6) environment with the same name. This is intentional. If you want your base Anaconda to be python 3.6, the right way to do this is to install Anaconda for python 3.6. As a package manager, the goal of Anaconda is to make different environments encapsulated, hence why you must source activate into them and why you can't just quietly switch the base package at will as this could lead to many issues on production systems.