我在conda基础环境中安装jove
conda install conda-forge::jove
频道信息:
Channels:
- defaults
- conda-forge
Platform: linux-64
但是安装完成后,每次打开jove编辑器都会出现错误消息:
jove: ..../anaconda3/bin/../lib/libtinfo.so.6: no version information available (required by jove)
我该如何解决它?
频道顺序不正确。 Conda Forge 仅链接其他 Conda Forge 包,因此如果您需要 compiled Conda Forge 包,那么环境中的所有其他库都应来自 Conda Forge。在这种情况下,
conda-forge::jove
期望安装 conda-forge::ncurses
软件包,该软件包提供 lib/libtinfo.so
文件。1
否则,很容易出现此类库加载或功能不匹配问题(请参阅“使用多个通道”)。还应该指出的是,Anaconda base 实际上并不支持 conda-forge
通道的优先级 - 必须创建一个新环境。
conda-forge
而不是
defaults
的新环境:conda create -n foo -c conda-forge jove
更好的是,使用 YAML 来定义您的环境:foo.yaml
name: foo
channels:
- conda-forge
- nodefaults # do not search other channels
dependencies:
- jove
# list other packages you need
conda env create -n foo -f foo.yaml
[1]: 可以使用 conda package --which
命令检查文件的来源。在这种情况下,
conda package --which $CONDA_PREFIX/lib/libtinfo.so.6
将显示该文件来自哪个包,包括通道。当我从 ncurses
获取 defaults
时,我收到了与 OP 报告相同的错误;将其更改为 conda-forge
足以解决该问题。但是,最佳做法是避免混合使用 defaults
和 conda-forge
通道。