pyblish / pyblish-qml

Pyblish QML frontend for Maya 2013+, Houdini 11+, Nuke 8+ and more
GNU Lesser General Public License v3.0
115 stars 44 forks source link

Release 1.8.0 appears to be critically broken in Linux #294

Closed darkvertex closed 6 years ago

darkvertex commented 6 years ago

My studio's current Linux flavour is CentOS Linux release 7.4.1708 (Core).

pyblish_qml release 1.8.0 (with the changes from PR #293) appears to be broken on my environment, throwing a KeyError before ever appearing. Release 1.7.4 does not have a problem.

Here's an environment with PyQt 5.6, pyblish_base==1.6.1 and pyblish_qml==1.8.0:

> python
Python 2.7.13 (default, Apr  3 2017, 18:26:10)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyblish_qml;pyblish_qml.show()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/softwareLocal/rez_python_envs/shared/2.7/0xb44bdba184a58db9/lib/python2.7/site-packages/pyblish_qml/__init__.py", line 13, in show
    return host.show(parent, targets, modal, foster)
  File "/softwareLocal/rez_python_envs/shared/2.7/0xb44bdba184a58db9/lib/python2.7/site-packages/pyblish_qml/host.py", line 125, in show
    install(modal, foster)
  File "/softwareLocal/rez_python_envs/shared/2.7/0xb44bdba184a58db9/lib/python2.7/site-packages/pyblish_qml/host.py", line 72, in install
    install_event_filter()
  File "/softwareLocal/rez_python_envs/shared/2.7/0xb44bdba184a58db9/lib/python2.7/site-packages/pyblish_qml/host.py", line 281, in install_event_filter
    main_window = _state["vesselParent"]
KeyError: 'vesselParent'
>>>

and no UI ever appears.

Here is the same, except using pyblish_qml==1.7.4 instead of 1.8.0:

> python
Python 2.7.13 (default, Apr  3 2017, 18:26:10)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyblish_qml;pyblish_qml.show()
Using Python @ '/rdo/software/rez/packages/python/2.7.13/platform-linux/bin/python'
Using PyQt5 @ 'None'
Targets: default
Success. QML server available as pyblish_qml.api.current_server()
<pyblish_qml.ipc.server.Server object at 0x7faeaaa9bad0>
>>> Starting pyblish-qml
Done, don't forget to call `show()`
Entering state: "hidden"
Entering state: "ready"
Entering state: "clean"
Entering state: "alive"
Settings:
  HeartbeatInterval = 60
  WindowTitle = Pyblish
  WindowPosition = [100, 100]
  WindowSize = [430, 600]
  ContextLabel = Context
  HiddenSections = [u'Collect']
Entering state: "visible"
Entering state: "initialising"
Spent 42.58 ms resetting
Made 0 requests during publish.
Spent 67.84 ms resetting
Made 0 requests during reset.
Entering state: "ready"
No local comment, reading from context..

...and the UI appears (with no plugins so it's a little empty, but hey, it works.)

darkvertex commented 6 years ago

(Just for the record, I do not have anything set in my environments to request the experimental features. PYBLISH_QML_FOSTER was not set.)

darkvertex commented 6 years ago

I get the same vesselParent KeyError when launching outside the REPL interpreter also, running a simple file with just 2 lines:

import pyblish_qml
pyblish_qml.show(modal=True)

(Modal because otherwise Python would exit immediately.)