如何使用conda升级到Python 3.6?
我是Conda软件包管理的新手,我想获得最新版本的Python,以便在代码中使用f字符串。目前我的版本是(如何使用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-创建新环境(更好
python-V
):
如何升级到Python 3.6?Anaconda尚未在内部将Python更新为3.6 a) 方法1
conda update python
conda更新蟒蛇
conda install python=$pythonversion$
编辑: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.6conda 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