繁体   English   中英

如何使用 conda 升级到 Python 3.6?

[英]How do I upgrade to Python 3.6 with conda?

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

Python 3.5.2 :: Anaconda 4.2.0 (x86_64)

我将如何升级到 Python 3.6?

Anaconda 尚未在内部将 python 更新到 3.6。

a) 方法一

  1. 如果你想更新,你会输入conda update python
  2. 更新 anaconda 类型conda update anaconda
  3. 如果你想在 3.5 到 3.6 等主要 python 版本之间升级,你必须这样做

    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 版本

创建新环境将安装 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 的主要新版本(来自 Anaconda 4.0+)的详细说明。 第一的,

conda update conda
conda remove argcomplete conda-manager

我还不得不conda remove一些不在官方列表中的软件包:

  • backports_abc
  • 美汤
  • 火焰核心

根据系统上安装的软件包,您可能会收到其他UnsatisfiableError错误 - 只需将这些软件包添加到删除列表中即可。 接下来,安装 Python 版本,

conda install python==3.6

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

conda install anaconda-client

它说它已经在那里了。 最后,按照指示,

conda update anaconda

我在 Windows 10 命令提示符下执行此操作,但在 Mac OS X 中应该类似。

过去,我发现尝试就地升级非常困难。

注意:我的 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 

我使用的是Mac OS Mojave

这 4 个步骤对我有用。

  1. conda update conda
  2. conda install python=3.6
  3. conda install anaconda-client
  4. conda update 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

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

唯一有效的解决方案是使用您想要的名称创建一个新的 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 ):

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

我发现的最佳方法:

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 版本不兼容或丢失。

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

如果要在现有环境中升级 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. 完成后,通过键入python --version在 conda 中检查您的 python 版本
  5. 如果是最新版本,则可以重新启动计算机。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM