如何使用conda升级到Python 3.6?

如何使用conda升级到Python 3.6?,python,macos,anaconda,conda,Python,Macos,Anaconda,Conda,我是Conda软件包管理的新手,我想获得最新版本的Python,以便在代码中使用f字符串。目前我的版本是(python-V): 如何升级到Python 3.6?Anaconda尚未在内部将Python更新为3.6 a) 方法1 如果要更新,请键入conda update python 更新蟒蛇类型conda更新蟒蛇 如果您想在主流python版本(如3.5到3.6)之间升级,您必须这样做 conda install python=$pythonversion$ b) 方法2-创建新环境(更好

我是Conda软件包管理的新手,我想获得最新版本的Python,以便在代码中使用f字符串。目前我的版本是(
python-V
):


如何升级到Python 3.6?

Anaconda尚未在内部将Python更新为3.6

a) 方法1


  • 如果要更新,请键入
    conda update python
  • 更新蟒蛇类型
    conda更新蟒蛇
  • 如果您想在主流python版本(如3.5到3.6)之间升级,您必须这样做

    conda install python=$pythonversion$
    
  • b) 方法2-创建新环境(更好的方法)

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

    你可以从照片上看到这一切

    此外,有关力的信息,请参阅此


    编辑: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非常简单):

    并通过下载新的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删除一些不在官方名单上的包:

    • 后端口
    • 靓汤
    • 火焰核心
    根据系统上安装的软件包,您可能会收到其他
    unsatifiableerror
    错误-只需将这些软件包添加到删除列表中即可。接下来,安装Python版本

    conda install python==3.6
    
    这需要一段时间,之后会显示一条消息,指示
    conda安装anaconda客户机
    ,我就是这么做的

    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)
    
    然后手动编辑第一行(
    名称:…
    )和最后一行(
    前缀:…
    ),以反映您的新环境名称并运行:

    conda env create -f new_env.yml
    
    您可能需要手动删除或更改一些包的版本pin,对于这些包,
    old_env
    中的固定版本与新python版本不兼容或缺失


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

    我正在使用一个Mac OS Mojave

    这四个步骤对我很有效

  • conda更新conda
  • conda install python=3.6
  • conda安装anaconda客户端
  • conda更新anaconda
    

  • 这就是我如何在anaconda和windows 10中获得python 3.9的方法(目前没有直接支持,将来肯定会得到) 注意:我需要额外的软件包,所以请安装它们,只安装您需要的

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

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

    conda create--name python=3.9


    它将简单地创建Python3.9虚拟环境。

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

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


    注意:贝娄不起作用: 如果您想更新以前环境的conda版本,您还可以执行以下操作(比应该做的更复杂,因为):

  • 为当前环境创建临时新位置:
  • 删除原始环境(以便新环境可以具有该名称):
  • 然后使用所需的python版本创建新的空环境,并克隆原始环境:

  • 如果要在现有环境中升级Python版本,请先使用
    conda activate
    将其激活,然后执行以下操作:

    conda install -c anaconda python=<version>
    

    除非Continuum改变了conda的操作方式,否则不能通过
    conda update Python
    升级主要的Python版本。请看这里:conda install python=$pythonversion$例如,conda install python=3.6
    conda update python
    刚刚将我从3.6.5提升到3.7.0。整洁的答案中有一个输入错误,方法1.3。它应该是
    conda install python=$pythonversion$
    ,带有一个等号。仅供参考,方法a)也适用于在不同版本的python之间进行更改,只要它不破坏版本内的任何依赖关系。我认为,第二个答案是更好的答案,特别是对于那些拥有“主”/“默认值”的人不断更新最新和最棒版本的环境。删除原始环境,使用原始名称创建具有正确python版本的新环境,并重新运行安装脚本,例如
    install.sh
    如果您的conda安装是针对python 2.7的,则conda create将创建一个2.7版本。将命令更改为
    conda create--name 3point6 python=3
    (在末尾添加
    =3
    )将生成python3版本。它确实会。我已经更改了我的答案以指定python 3.6!您的解决方案使我不得不从头开始重新安装所有旧软件包。你应该提一下如何避开这个问题。标题上写着升级,所以这是一个明智的选择
    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
    
    conda create --name e39 python=3.9 --channel conda-forge
    
    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 create --name temporary_env_name --clone original_env_name
    
    conda deactivate
    conda remove --name original_env_name --all # or its alias: `conda env remove --name original_env_name`
    
    conda create --name original_env_name python=3.8 --clone temporary_env_name
    
    conda install -c anaconda python=<version>
    
    conda update --all