gpt4 book ai didi

python - Conda 更新除 python 之外的软件包

转载 作者:太空宇宙 更新时间:2023-11-03 15:17:34 26 4
gpt4 key购买 nike

我是 python 初学者,我正在使用旧版本的 anaconda,其中包含 3.5.2 版本的 python,因为我想使用 tensorflow。我有一些过时的软件包,我想用“conda update all”进行更新。有没有办法做到这一点,而不需要将Python从3.5更新到3.6,这与tensorflow不兼容?

最佳答案

简短回答

conda update --all --dry-run 2>/dev/null |
grep -Fe '-->' |
cut -d' ' -f3 |
grep -ve 'python' |
xargs conda update
<小时/>

长答案

第 1 步:试运行以检查要更新的软件包

命令

conda update --all --dry-run

结果

Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

environment location: //anaconda3/envs/general


The following packages will be UPDATED:

astroid 2.3.1-py37_0 --> 2.3.2-py37_0
ca-certificates 2019.8.28-0 --> 2019.10.16-0
openssl 1.0.2t-h1de35cc_1 --> 1.1.1d-h1de35cc_3
pip 19.2.3-py37_0 --> 19.3.1-py37_0
pylint 2.4.2-py37_0 --> 2.4.3-py37_0
python 3.7.0-hc167b69_0 --> 3.7.4-h359304d_1
sqlite 3.30.0-ha441bb4_0 --> 3.30.1-ha441bb4_0



DryRunExit: Dry run. Exiting.
<小时/>

第 2 步:删除来自 stderr 的消息(可选,但更清晰)

命令

conda update --all --dry-run 2>/dev/null

结果

Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

environment location: //anaconda3/envs/general


The following packages will be UPDATED:

astroid 2.3.1-py37_0 --> 2.3.2-py37_0
ca-certificates 2019.8.28-0 --> 2019.10.16-0
openssl 1.0.2t-h1de35cc_1 --> 1.1.1d-h1de35cc_3
pip 19.2.3-py37_0 --> 19.3.1-py37_0
pylint 2.4.2-py37_0 --> 2.4.3-py37_0
python 3.7.0-hc167b69_0 --> 3.7.4-h359304d_1
sqlite 3.30.0-ha441bb4_0 --> 3.30.1-ha441bb4_0
<小时/>

第 3 步:提取包含包名称的行

命令

conda update --all --dry-run 2>/dev/null |
grep -Fe '-->'

结果

  astroid                                      2.3.1-py37_0 --> 2.3.2-py37_0
ca-certificates 2019.8.28-0 --> 2019.10.16-0
openssl 1.0.2t-h1de35cc_1 --> 1.1.1d-h1de35cc_3
pip 19.2.3-py37_0 --> 19.3.1-py37_0
pylint 2.4.2-py37_0 --> 2.4.3-py37_0
python 3.7.0-hc167b69_0 --> 3.7.4-h359304d_1
sqlite 3.30.0-ha441bb4_0 --> 3.30.1-ha441bb4_0
<小时/>

第 4 步:生成包名称列表

命令

conda update --all --dry-run 2>/dev/null |
grep -Fe '-->' |
cut -d' ' -f3

注意:由于每个包名称前面有 2 个空格,因此包名称是该行的第 3 个字段。这导致了参数-f3

结果

astroid
ca-certificates
openssl
pip
pylint
python
sqlite
<小时/>

第 5 步:从列表中删除不需要更新的软件包

命令

conda update --all --dry-run 2>/dev/null |
grep -Fe '-->' |
cut -d' ' -f3 |
grep -ve 'python'

结果

astroid
ca-certificates
openssl
pip
pylint
sqlite
<小时/>

第 6 步:更新列表中的软件包

命令

conda update --all --dry-run 2>/dev/null |
grep -Fe '-->' |
cut -d' ' -f3 |
grep -ve 'python' |
xargs conda update

关于python - Conda 更新除 python 之外的软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43753657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com