【问题标题】:conda: Missing dependencies when starting spyder (cahe issues?)conda:启动 spyder 时缺少依赖项(cahe 问题?)
【发布时间】:2021-12-03 11:57:44
【问题描述】:

我(试图)通过 anaconda 安装 spyder5(用于开发 python 程序)。 启动 spyder 时,出现 2 个依赖项失败:

You have missing dependencies!
#Mandatory:
jedi =0.17.2:0.18.0 (NOK)
parso =0.7.0:0.8.2 (NOK)

然而,

conda list

回答:

...
jedi                      0.17.2           py38h06a4308_1
...
parso                     0.7.0                      py_0
...

这似乎表明我的 conda 环境中安装了正确的版本。 “谷歌搜索”有点把我带到this post,@ccordoba12 指出这个问题可以通过删除来解决: C:\Users\AppData\Roaming\Python

这当然是假设窗户。由于我在linux上运行,我无法尝试

所以我的问题是:

  1. 有什么问题(!)?
  2. 如果 python (...) 像这似乎表明的那样缓存包,这不是违背了 conda 的目标吗?
  3. 假设这个缓存确实是问题所在,我怎样才能删除 linux 上的缓存并在加载不同的 conda env 时自动执行该操作。

谢谢!

【问题讨论】:

    标签: python conda spyder


    【解决方案1】:

    问题可能是

    • 您安装了不同版本的 python

    • 不知何故,Conda 无法安装它们

      在 Conda 中有一种巧妙的方法可以删除缓存

      用法:conda clean [-h] [-a] [-i] [-p] [-t] [-f] [-c TEMPFILES [TEMPFILES ...]] [-d] [--json] [-q] [-v] [-y]

    你可以使用的地方

        -a, --all
    Remove index cache, lock files, unused cache packages, and tarballs.
    
        -i, --index-cache
    Remove index cache.
    

    【讨论】:

    • 遗憾的是,所有的 clean 命令都没有帮助。 conda 仅列出 python3.8.8。 (不确定这与其他包管理器(例如 apt)安装的 python 有何关系:我可以运行 python2 并获取 python2.7...)
    【解决方案2】:

    对 spyder 进行 strace 显示它正在从 ~/.local/lib/python3.8 打开东西。

    删除此目录(实际上是重命名,以防万一),解决了问题... ...如果它可以帮助别人。

    不确定 python 何时创建此 lib 目录,以及 conda 应该如何处理这些“缓存”

    【讨论】:

    • 当使用 --user 标志时,Pip 会在该目录中安装包。强烈建议 Conda 用户不要使用该标志,是的,删除/重命名它是个好主意。如果包在用户级或系统级安装中泄漏,Conda 无法确保明确定义的行为。
    猜你喜欢
    • 2021-05-09
    • 2020-04-05
    • 2017-07-29
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 2021-07-01
    相关资源
    最近更新 更多