【问题标题】:conda install -n base --revision 1 doesn't clean up pypi packagesconda install -n base --revision 1 不清理 pypi 包
【发布时间】:2021-12-15 21:37:51
【问题描述】:

我尝试通过安装基础环境的修订版 1 来清理我的基础(迷你)conda 环境。

$ conda install -n base --revision 1

作为参考,这里是修订版 1 在我的例子中的含义。

$ conda list -n base --revisions
2019-10-24 14:29:57  (rev 0)
    +asn1crypto-1.2.0
    +ca-certificates-2019.10.16
    +certifi-2019.9.11
    +cffi-1.13.0
    +chardet-3.0.4
    +conda-4.7.12
    +conda-package-handling-1.6.0
    +cryptography-2.8
    +idna-2.8
    +libcxx-4.0.1
    +libcxxabi-4.0.1
    +libedit-3.1.20181209
    +libffi-3.2.1
    +ncurses-6.1
    +openssl-1.1.1d
    +pip-19.3.1
    +pycosat-0.6.3
    +pycparser-2.19
    +pyopenssl-19.0.0
    +pysocks-1.7.1
    +python-3.7.4
    +python.app-2
    +readline-7.0
    +requests-2.22.0
    +ruamel_yaml-0.15.46
    +setuptools-41.4.0
    +six-1.12.0
    +sqlite-3.30.0
    +tk-8.6.8
    +tqdm-4.36.1
    +urllib3-1.24.2
    +wheel-0.33.6
    +xz-5.2.4
    +yaml-0.1.7
    +zlib-1.2.11

2019-11-06 20:50:32  (rev 1)
     cffi  {1.13.0 -> 1.13.1}
     setuptools  {41.4.0 -> 41.6.0}
     sqlite  {3.30.0 -> 3.30.1}

尽管有上述conda install 命令,我的基础环境仍然受到各种python 包的污染,这些包是在 修订版1 之后安装的。

$ conda list -n base
# packages in environment at /opt/miniconda3:
#
# Name                    Version                   Build  Channel
absl-py                   0.8.1                    pypi_0    pypi
alabaster                 0.7.12                   pypi_0    pypi
appnope                   0.1.0                    pypi_0    pypi
asn1crypto                1.2.0                    py37_0  
astor                     0.8.0                    pypi_0    pypi
aws-sam-translator        1.21.0                   pypi_0    pypi
aws-xray-sdk              2.4.3                    pypi_0    pypi
babel                     2.8.0                    pypi_0    pypi
bleach                    3.1.0                    pypi_0    pypi
boto                      2.49.0                   pypi_0    pypi
boto3                     1.12.17                  pypi_0    pypi
botocore                  1.15.17                  pypi_0    pypi
ca-certificates           2019.10.16                    0  
certifi                   2019.9.11                py37_0  
cffi                      1.13.1           py37hb5b8e2f_0  
cfn-lint                  0.28.4                   pypi_0    pypi
chardet                   3.0.4                 py37_1003  
conda                     4.7.12                   py37_0  
conda-package-handling    1.6.0            py37h1de35cc_0  
confluence-py             1.0.1                    pypi_0    pypi
coverage                  5.0.3                    pypi_0    pypi
cryptography              2.8              py37ha12b0ac_0  
defusedxml                0.6.0                    pypi_0    pypi
docker                    4.2.0                    pypi_0    pypi
docutils                  0.16                     pypi_0    pypi
ecdsa                     0.15                     pypi_0    pypi
entrypoints               0.3                      pypi_0    pypi
future                    0.18.2                   pypi_0    pypi
gast                      0.2.2                    pypi_0    pypi
google-pasta              0.1.8                    pypi_0    pypi
grpcio                    1.24.3                   pypi_0    pypi
h5py                      2.8.0                    pypi_0    pypi
idna                      2.8                      py37_0  
imagesize                 1.2.0                    pypi_0    pypi
ipython-genutils          0.2.0                    pypi_0    pypi
jmespath                  0.9.5                    pypi_0    pypi
jsondiff                  1.1.2                    pypi_0    pypi
jsonpatch                 1.25                     pypi_0    pypi
jsonpickle                1.3                      pypi_0    pypi
jsonpointer               2.0                      pypi_0    pypi
jupyterlab                1.2.1                    pypi_0    pypi
keras-applications        1.0.8                    pypi_0    pypi
keras-preprocessing       1.1.0                    pypi_0    pypi
libcxx                    4.0.1                hcfea43d_1  
libcxxabi                 4.0.1                hcfea43d_1  
libedit                   3.1.20181209         hb402a30_0  
libffi                    3.2.1                h475c297_4  
markdown                  3.1.1                    pypi_0    pypi
mock                      4.0.1                    pypi_0    pypi
moto                      1.3.14                   pypi_0    pypi
nbsphinx                  0.5.1                    pypi_0    pypi
ncurses                   6.1                  h0a44026_1  
numpy                     1.16.4                   pypi_0    pypi
openssl                   1.1.1d               h1de35cc_3  
opt-einsum                3.1.0                    pypi_0    pypi
packaging                 20.3                     pypi_0    pypi
pickleshare               0.7.5                    pypi_0    pypi
pip                       19.3.1                   py37_0  
pluggy                    0.13.1                   pypi_0    pypi
protobuf                  3.10.0                   pypi_0    pypi
ptyprocess                0.6.0                    pypi_0    pypi
py                        1.8.1                    pypi_0    pypi
pyasn1                    0.4.8                    pypi_0    pypi
pycosat                   0.6.3            py37h1de35cc_0  
pycparser                 2.19                     py37_0  
pyflakes                  2.1.1                    pypi_0    pypi
pyinquirer                1.0.3                    pypi_0    pypi
pyopenssl                 19.0.0                   py37_0  
pyparsing                 2.4.6                    pypi_0    pypi
pyrsistent                0.15.5                   pypi_0    pypi
pysocks                   1.7.1                    py37_0  
pytest                    5.3.5                    pypi_0    pypi
pytest-cov                2.8.1                    pypi_0    pypi
pytest-flakes             4.0.0                    pypi_0    pypi
python                    3.7.4                h359304d_1  
python-jose               3.1.0                    pypi_0    pypi
python.app                2                        py37_9  
pytz                      2019.3                   pypi_0    pypi
pyyaml                    5.3                      pypi_0    pypi
pyzmq                     18.1.0                   pypi_0    pypi
readline                  7.0                  h1de35cc_5  
regex                     2019.11.1                pypi_0    pypi
requests                  2.22.0                   py37_0  
responses                 0.10.12                  pypi_0    pypi
rsa                       4.0                      pypi_0    pypi
ruamel_yaml               0.15.46          py37h1de35cc_0  
s3transfer                0.3.3                    pypi_0    pypi
send2trash                1.5.0                    pypi_0    pypi
setuptools                41.6.0                   py37_0  
six                       1.11.0                   pypi_0    pypi
snowballstemmer           2.0.0                    pypi_0    pypi
sphinx                    2.4.4                    pypi_0    pypi
sphinxcontrib-applehelp   1.0.2                    pypi_0    pypi
sphinxcontrib-devhelp     1.0.2                    pypi_0    pypi
sphinxcontrib-htmlhelp    1.0.3                    pypi_0    pypi
sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
sphinxcontrib-qthelp      1.0.3                    pypi_0    pypi
sphinxcontrib-serializinghtml 1.1.4                    pypi_0    pypi
sqlite                    3.30.1               ha441bb4_0  
sshpubkeys                3.1.0                    pypi_0    pypi
tensorboard               1.15.0                   pypi_0    pypi
tensorflow                1.15.0                   pypi_0    pypi
tensorflow-estimator      1.15.1                   pypi_0    pypi
tensorflow-hub            0.5.0                    pypi_0    pypi
tensorflowjs              1.3.1.1                  pypi_0    pypi
termcolor                 1.1.0                    pypi_0    pypi
terminado                 0.8.2                    pypi_0    pypi
tk                        8.6.8                ha441bb4_0  
tqdm                      4.36.1                     py_0  
urllib3                   1.24.2                   py37_0  
wcwidth                   0.1.7                    pypi_0    pypi
webencodings              0.5.1                    pypi_0    pypi
websocket-client          0.57.0                   pypi_0    pypi
werkzeug                  0.16.0                   pypi_0    pypi
wheel                     0.33.6                   py37_0  
wrapt                     1.11.2                   pypi_0    pypi
xmltodict                 0.12.0                   pypi_0    pypi
xz                        5.2.4                h1de35cc_4  
yaml                      0.1.7                hc338f04_2  
zlib                      1.2.11               h1de35cc_3  

环境仍然包含来自 pypi 频道的不需要的包。我只能通过pip uninstall 摆脱它们(这非常乏味)还是有更好/更少手动的方式,例如conda install --revision

【问题讨论】:

  • 我建议删除并重新安装 Miniconda,以避免任何问题。不用说,在不必要的时候使用 pip 是个坏主意,使用基础环境进行开发也是如此。

标签: python pip conda miniconda


【解决方案1】:

在 Conda CLI 中没有任何东西可以处理这个问题,但是 pip uninstall 也可以与 requirements.txt 一起使用,这可以很容易地通过这个输出来实现。例如,

conda list | awk '$4 ~ /^pypi$/ { print $1 }' > requirements.txt
pip uninstall -r requirements.txt

或者如果你想要一个班轮

# make sure you have the right environment activated!
pip uninstall -r <(conda list | awk '$4 ~ /^pypi$/ {print $1}')

pip uninstall 有一个 -y 标志,但我会审查该操作,只是为了仔细检查它是否从您期望的位置移除。

【讨论】:

  • 现场,谢谢@merv。唯一与问题略有相关的问题是环境包含具有空通道的包,但不应成为基本“裸”环境的一部分,例如cryptographyidnatqdm、 ... - 老实说,我什至不知道哪些不应该存在,哪些应该存在。老实说,我不知道安装的来源。 无论如何,您的回答有助于自动删除,非常感谢!
  • 我认为“裸”环境对应于修订版 0 而不是 1。
  • 有趣的是,修订 0 中已经包含了一些非标准包,这对我来说似乎很奇怪。无论如何,安装修订版 0 是 highly discouraged as it may break the conda installation。但是再一次,由于上述基于管道的解决方案,我的基地现在已经足够干净了。
  • 其实我弄错了,tqdm 等(我之前列出的那些)即使在我重新安装了 conda(更准确地说是 miniconda)之后也包含在基础环境中。
猜你喜欢
  • 1970-01-01
  • 2022-07-27
  • 1970-01-01
  • 2017-10-31
  • 2020-04-07
  • 2021-06-08
  • 1970-01-01
  • 2014-02-27
相关资源
最近更新 更多