0

In a Traits/UI application, I'm getting the following at the end of a traceback:

  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. In other words, I'm assuming that I have incompatible PyFace and PySide2 packages installed.

But, my question is: why didn't the package suite curation services of conda protect me from this?

Here's an excerpt from the output of 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?

Thanks!

Edits, as motivated by comments, below:

  1. @orangelink #1

I'm not sure what you mean by "manually update". I installed the PySide2 package like so:

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:

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

Okay, thanks. So, what does it mean, pragmatically, for the "Anaconda meta-package" to be curated? 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?

dbanas
  • 1,707
  • 14
  • 24
  • Did you manually update pyside? As far as I'm aware Anaconda should only get it's packages from http://repo.anaconda.com/pkgs/ not from https://conda.anaconda.org/conda-forge/. You could try resetting your Anaconda env: https://stackoverflow.com/questions/41914139/how-to-reset-anaconda-root-environment (careful: might be destructive) – orangeInk Jul 15 '19 at 10:33
  • Oh, I just noticed the issue here: no, `conda` has no *package suite curation service*, only the Anaconda metapackage is currated, see https://stackoverflow.com/questions/30034840/what-are-the-differences-between-conda-and-anaconda – orangeInk Jul 15 '19 at 10:45
  • @orangeInk, thank you for replying! I've edited my original post in response. Also, thanks for the pointer to the explanation of the true nature of package curation under Anaconda. – dbanas Jul 15 '19 at 14:42

1 Answers1

0

Strangely enough, I was able to solve this problem by uninstalling the PySide2 package.

dbanas
  • 1,707
  • 14
  • 24