如何使用conda升级到Python 3.6 ?

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

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

如何升级到Python 3.6?

573952 次浏览

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

a)方法一

  1. 如果你想更新,你将输入conda update python

  2. 更新anaconda类型conda update conda

  3. 如果你想在主要的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

你可以从在这里中看到所有这些

同样,force 升级也可以参考这个

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

创建一个新环境将安装python 3.6:

$ conda create --name 3point6 python=3.6
Fetching package metadata .......
Solving package specifications: ..........


Package plan for installation in environment /Users/dstansby/miniconda3/envs/3point6:


The following NEW packages will be INSTALLED:


openssl:    1.0.2j-0
pip:        9.0.1-py36_1
python:     3.6.0-0
readline:   6.2-2
setuptools: 27.2.0-py36_0
sqlite:     3.13.0-0
tk:         8.5.18-0
wheel:      0.29.0-py36_0
xz:         5.2.2-1
zlib:       1.2.8-3

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

注意:我对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的主要更新版本(从Anaconda 4.0+)。首先,

conda update conda
conda remove argcomplete conda-manager

我还不得不conda remove一些包不在官方列表:

  • backports_abc
  • beautiful soup
  • blaze-core

根据系统上安装的包,你可能会得到额外的UnsatisfiableError错误-只需将这些包添加到删除列表。接下来,安装Python版本,

conda install python==3.6

这需要一段时间,之后消息指示conda install anaconda-client,所以我做了

conda install anaconda-client

上面说它已经在那里了。最后,按照说明,

conda update anaconda

我在Windows 10的命令提示符中做了这个操作,但在Mac OS X中应该是类似的。

我发现的最佳方法是:

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)

然后手动编辑第一行(name: ...)和最后一行(prefix: ...)以反映您的新环境名称并运行:

conda env create -f new_env.yml

你可能需要手动删除或更改一些包的版本引脚,这些包的old_env引脚版本被发现不兼容或缺少新的python版本。

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

我正在使用Mac OS Mojave

这4个步骤对我很有效。

  1. conda update conda
  2. conda install python=3.6
  3. conda install anaconda-client
  4. conda更新anaconda 李< /代码> < / >
这就是我如何设法获得(目前没有直接支持-在未来肯定会)蟒蛇和windows 10中的python 3.9
注意:我需要额外的软件包,所以安装它们,只安装你需要的

conda create --name e39 python=3.9 --channel conda-forge

更新

conda可以使用Python 3.9,请使用以下命令

Conda create——name python=3.9

它将简单地创建python 3.9虚拟环境。

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

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):

  1. 为当前环境创建一个临时的新位置:
conda create --name temporary_env_name --clone original_env_name
  1. 删除原来的env(这样新的env可以有这个名字):
conda deactivate
conda remove --name original_env_name --all # or its alias: `conda env remove --name original_env_name`
  1. 然后用你想要的python版本创建一个新的空env,并克隆原来的env:
conda create --name original_env_name python=3.8 --clone temporary_env_name

如果你想在现有环境中升级Python版本,首先用conda activate <env_name>激活它,然后执行:

conda install -c anaconda python=<version>

您可能还需要更新依赖项

conda update --all
  1. 管理员用户。打开Anaconda Powershell Prompt
  2. 输入conda update python
  3. 等待大约10分钟,在这个过程中,你可能需要在一段时间内输入y
  4. 完成后,在conda中输入python --version检查你的python版本
  5. 如果是最新的版本,那么您可以重新启动计算机。