pyblish / pyblish-qml

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

Demo Crashes #333

Closed virtualengineer closed 4 years ago

virtualengineer commented 5 years ago

Environment OS : Windows 10 Python : 3.7 (64-bit)

I tried to run the pyblish-qml demo with "python.exe - m pyblish_qml --demo" . The window pops up with a bunch of demo validation checks. But when I click the "publish" button in the lower right corner (white triangle), it crashes python. Apparently a python object was expected to be a dictionary, but wasn't.

Here is output info from the command line

"C:\python37-64\python.exe -m pyblish_qml --demo" Starting pyblish-qml server.. Using Python @ 'C:\python37-64\python.exe' Using PyQt5 @ 'C:\python37-64\Lib\site-packages\pyqt5' Targets: default Starting pyblish-qml Done, don't forget to call show() Entering state: "hidden" Entering state: "ready" Entering state: "clean" Entering state: "alive" Settings: WindowSize = [430, 600] HiddenSections = ['Collect'] HeartbeatInterval = 60 WindowPosition = [100, 100] ContextLabel = Context WindowTitle = Pyblish Entering state: "visible" Entering state: "initialising" Entering state: "collecting" Spent 3850.61 ms resetting Made 0 requests during publish. Spent 4165.39 ms resetting Made 0 requests during reset. Entering state: "ready" No local comment, reading from context.. Entering state: "validating" Entering state: "extracting" Traceback (most recent call last):

File "C:\python37-64\Lib\site-packages\pyblish_qml\control.py", line 1004, in on_next self.data["models"]["item"].update_with_result(result)

File "C:\python37-64\Lib\site-packages\pyblish_qml\models.py", line 484, in update_with_result assert isinstance(result, dict), "%s is not a dictionary" % result

AssertionError: generator raised StopIteration is not a dictionary

mottosso commented 5 years ago

Thanks for reporting this @virtualengineer, it may be an issue with Python 3.7 support which is not well tested yet, or the version of pyblish-qml.

Your safest bet would be to use Python 3.6 instead, you're also welcome to have a look at addressing this issue and submit a PR.

Which version of pyblish-qml are you on?

import pyblish_qml
print(pyblish_qml.version)
virtualengineer commented 5 years ago

Which version of pyblish-qml are you on?

According to the print, Pyblish QML: Version 1.9.12

davidlatwe commented 4 years ago

This is because PEP 479 has been enabled in Python 3.7. And pyblish-base might be affected as well ?

Edit:

And pyblish-base might be affected as well ?

Yes :skull: