简体   繁体   English

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

[英]PyFace / PySide2 incompatibility, despite curation by conda?

In a Traits/UI application, I'm getting the following at the end of a traceback: 在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'

I've done some Web sleuthing and learned that the PySide maintainers recently moved from the QtWebKit... to the QtWebEngine... API and am assuming that's what I'm bumping into here. 我已经进行了一些Web搜索,并了解到PySide维护者最近已从QtWebKit...移至QtWebEngine... API,并假设这就是我要介绍的内容。 In other words, I'm assuming that I have incompatible PyFace and PySide2 packages installed. 换句话说,我假设我安装了不兼容的PyFacePySide2软件包。

But, my question is: why didn't the package suite curation services of conda protect me from this? 但是,我的问题是:为什么conda套件管理服务不能保护我免受此侵害?

Here's an excerpt from the output of conda list : 这是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

Does pyside2 coming from conda-forge negate the usual guarantees offered by conda , wrt/ package compatibility? 是否pyside2从哪里来conda-forge否定所提供的通常的保证conda ,WRT /包的兼容性?

Thanks! 谢谢!

Edits, as motivated by comments, below: 根据评论的动机,进行以下编辑:

  1. @orangelink #1 @orangelink#1

I'm not sure what you mean by "manually update". 我不确定“手动更新”是什么意思。 I installed the PySide2 package like so: 我像这样安装了PySide2软件包:

conda install -n pybert64 PySide2

Note, however, that I do have conda-forge added to the end of my channels option in my ~/.condarc file: 但是请注意,我有没有 conda-forge添加到我的我的频道选择结束~/.condarc文件:

channels:
  - defaults
  - conda-forge

I found this to be necessary, in order to get a few needed packages installed, which were not available from any of the default channels. 我发现这是必要的,以便安装一些必需的软件包,而这些软件包在任何默认通道中均不可用。

  1. @orangelink #2 @orangelink#2

Okay, thanks. 好的谢谢。 So, what does it mean, pragmatically, for the "Anaconda meta-package" to be curated? 那么,对“ Anaconda meta-package”进行策划在实用上意味着什么? Does it mean that as long as I only draw from those channels included in the defaults alias, when executing conda install ... commands, I can be assured of package compatibility? 这是否意味着只要执行conda install ...命令时,只要我仅从默认别名中包含的那些通道中提取,就可以保证包的兼容性?

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM