我想让最新版本的Python在我的代码中使用f-strings。目前我的版本是(python -V):

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

如何升级到Python 3.6?


当前回答

在过去,我发现尝试就地升级是相当困难的。

注意:我对Anaconda的用例是作为一个全能的Python环境。我不关心独立的虚拟环境。如果你使用conda来创建环境,这可能是破坏性的,因为conda在你的Anaconda/envs目录中创建了硬链接的环境。

因此,如果使用环境,可能首先要导出环境。激活你的环境后,做如下的事情:

conda env export > environment.yml

在备份你的环境后(如果有必要),你可以删除你的旧Anaconda(卸载Anaconda非常简单):

$ rm -rf ~/anaconda3/

并下载新的Anaconda,例如Linux, 64位:

$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh 

(请看这里的最新版本),

然后执行它:

$ bash Anaconda3-4.3.0-Linux-x86_64.sh 

其他回答

在过去,我发现尝试就地升级是相当困难的。

注意:我对Anaconda的用例是作为一个全能的Python环境。我不关心独立的虚拟环境。如果你使用conda来创建环境,这可能是破坏性的,因为conda在你的Anaconda/envs目录中创建了硬链接的环境。

因此,如果使用环境,可能首先要导出环境。激活你的环境后,做如下的事情:

conda env export > environment.yml

在备份你的环境后(如果有必要),你可以删除你的旧Anaconda(卸载Anaconda非常简单):

$ rm -rf ~/anaconda3/

并下载新的Anaconda,例如Linux, 64位:

$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh 

(请看这里的最新版本),

然后执行它:

$ bash Anaconda3-4.3.0-Linux-x86_64.sh 

唯一可行的解决方案是使用您想要的名称创建一个新的conda env(不幸的是,您将删除旧的名称以保留该名称)。然后用新的python版本创建一个新的env,并使用conda/pip安装程序(或yaml文件或任何你用来保持需求的文件)重新运行install.sh脚本:

conda remove --name original_name --all
conda create --name original_name python=3.8
sh install.sh  # or whatever you usually do to install dependencies

执行conda install python=3.8对我不起作用。还有,为什么你想要3.6?向前移动这个词;)


注:下面的工作:

如果你想要更新你之前的env的conda版本,你还可以这样做(比它应该做的更复杂,因为你不能在conda中重命名envs):

为当前环境创建一个临时的新位置:

conda create --name temporary_env_name --clone original_env_name

删除原来的env(这样新的env可以有这个名字):

conda deactivate
conda remove --name original_env_name --all # or its alias: `conda env remove --name original_env_name`

然后用你想要的python版本创建一个新的空env,并克隆原来的env:

conda create --name original_env_name python=3.8 --clone temporary_env_name

Anaconda没有将python内部更新到3.6。

a)方法一

如果你想更新,你可以输入conda update python 更新蟒蛇类型conda 如果你想在主要的python版本之间升级,比如3.5到3.6,你必须这么做 Conda install python=$pythonversion$

b)方法2 -创造新环境(更好的方法)

conda create --name py36 python=3.6

c)获取绝对最新的python(撰写本文时为3.6.5)

conda create --name py365 python=3.6.5 --channel conda-forge

你可以从这里看到这一切

此外,参考此部队升级

编辑:Anaconda现在有一个Python 3.6版本

我用的是Mac OS Mojave

这4个步骤对我很有效。

Conda更新Conda Conda安装python=3.6 Conda安装anaconda客户端 Conda更新anaconda

我发现的最佳方法是:

source activate old_env
conda env export > old_env.yml

然后像这样处理它:

with open('old_env.yml', 'r') as fin, open('new_env.yml', 'w') as fout:
    for line in fin:
        if 'py35' in line:  # replace by the version you want to supersede
            line = line[:line.rfind('=')] + '\n'
        fout.write(line)

然后手动编辑第一行(名称:…)和最后一行(前缀:…)以反映您的新环境名称,并运行:

conda env create -f new_env.yml

您可能需要手动删除或更改一些包的版本引脚,这些包的old_env引脚版本与新python版本不兼容或缺失。

我希望有一种内置的、更简单的方法……