conda:启动 spyder 时缺少依赖项(cahe 问题?)
Posted
技术标签:
【中文标题】conda:启动 spyder 时缺少依赖项(cahe 问题?)【英文标题】:conda: Missing dependencies when starting spyder (cahe issues?) 【发布时间】: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上运行,我无法尝试
所以我的问题是:
-
有什么问题(!)?
如果 python (...) 像这似乎表明的那样缓存包,这不是违背了 conda 的目标吗?
假设这个缓存确实是问题所在,我怎样才能删除 linux 上的缓存并在加载不同的 conda env 时自动执行该操作。
谢谢!
【问题讨论】:
【参考方案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 无法确保明确定义的行为。以上是关于conda:启动 spyder 时缺少依赖项(cahe 问题?)的主要内容,如果未能解决你的问题,请参考以下文章
在 Ubuntu18 上打开 Spyder3 时缺少依赖项导致 Keyring 错误?
Spyder 5缺少依赖项-spyder_kernels版本错误[关闭]
conda install -c conda-forge opencv 后 Spyder 无法启动