PyFace / PySide2不兼容,尽管通过conda进行管理?

时间:2019-07-15 03:30:21

标签: python anaconda conda pyside2 pyface

在Traits / UI应用程序中,回溯结束时得到以下信息:

  File "/anaconda3/envs/pybert64/lib/python3.7/site-packages/traitsui/qt4/html_editor.py", line 27, in <module>
    from pyface.qt import QtCore, QtGui, QtWebKit
  File "/anaconda3/envs/pybert64/lib/python3.7/site-packages/pyface/qt/QtWebKit.py", line 29, in <module>
    from PySide2.QtWebKitWidgets import *
ModuleNotFoundError: No module named 'PySide2.QtWebKitWidgets'

我已经进行了一些Web搜索,并了解到 PySide 维护者最近从QtWebKit...转移到QtWebEngine... API,并假设这就是我要碰到的这里。 换句话说,我假设我安装了不兼容的 PyFace PySide2 软件包。

但是,我的问题是:conda的软件包套件管理服务为什么不能保护我免受此侵害?

这是conda list输出的摘录:

pyface                    6.0.0                    py37_0
pygments                  2.4.2                      py_0
pyibis-ami                3.0.0              pyh7b7c402_0    local
pyopenssl                 19.0.0                   py37_0
pyparsing                 2.4.0                      py_0
pyqt                      5.9.2            py37h655552a_2
pyside2                   5.9.0a1          py37he4028a5_0    conda-forge

来自pyside2的{​​{1}}是否会否定conda-forge所提供的通常的保证,即与包装是否兼容?

谢谢!

以下出于评论目的进行编辑:

  1. @orangelink#1

我不确定“手动更新”是什么意思。 我像这样安装 PySide2 软件包:

conda

但是请注意,我要做conda install -n pybert64 PySide2文件的 channels 选项的末尾添加了conda-forge

~/.condarc

我发现这是必要的,以便安装一些需要的软件包,而这些软件包在任何默认渠道都没有。

  1. @orangelink#2

好的,谢谢。 那么,对“ Anaconda meta-package”进行策划在实用上意味着什么? 这是否意味着只要执行channels: - defaults - conda-forge 命令时,只要我仅从 defaults 别名中包含的那些通道中提取内容,就可以保证程序包的兼容性?

1 个答案:

答案 0 :(得分:0)

奇怪的是,我能够通过 PySide2 软件包卸载 来解决此问题。