我已经安装了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,请记住,我不想从头开始重新安装所有内容。
正确答案(截至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.
如果您只是想暂时转换到另一个环境,请使用
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安装了包,则必须重新安装它们。