我想让最新版本的Python在我的代码中使用f-strings。目前我的版本是(python -V):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
如何升级到Python 3.6?
我想让最新版本的Python在我的代码中使用f-strings。目前我的版本是(python -V):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
如何升级到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
您可能需要手动删除或更改一些包的版本引脚,这些包的old_env引脚版本与新python版本不兼容或缺失。
我希望有一种内置的、更简单的方法……
其他回答
在过去,我发现尝试就地升级是相当困难的。
注意:我对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和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虚拟环境。
我发现这个页面详细说明了如何将Anaconda升级到Python的主要更新版本(从Anaconda 4.0+)。首先,
conda update conda
conda remove argcomplete conda-manager
我还不得不删除一些不在官方名单上的包:
backports_abc beautiful soup blaze-core
根据系统上安装的包,您可能会得到额外的UnsatisfiableError错误-只需将这些包添加到删除列表。接下来,安装Python版本,
conda install python==3.6
这需要一段时间,之后一个消息提示conda安装anaconda客户端,所以我做了
conda install anaconda-client
上面说它已经在那里了。最后,按照说明,
conda update anaconda
我在Windows 10的命令提示符中做了这个操作,但在Mac OS X中应该是类似的。
创建一个新环境将安装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
唯一可行的解决方案是使用您想要的名称创建一个新的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