-
Notifications
You must be signed in to change notification settings - Fork 129
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am unable to launch Nuke as it is crashing. Hiero is opening but with this Traceback - the same as in Nuke
ERROR 12:39:20.844:Hiero(31140): Plugin C:/CODE/__PYPE/OpenPype/openpype/hosts/hiero/startup\Python\Startup\Startup.py could not be loaded: cannot import name load_modules
Traceback (most recent call last):
File "C:\Program Files\Nuke12.0v1\pythonextensions\site-packages\hiero\core\find_plugins.py", line 42, in loadPluginsFromFolder
module = imp.load_source( moduleName, p )
File "C:/CODE/__PYPE/OpenPype/openpype/hosts/hiero/startup\Python\Startup\Startup.py", line 6, in <module>
avalon.api.install(phiero)
File "C:\CODE\__PYPE\OpenPype\repos\avalon-core\avalon\pipeline.py", line 111, in install
config.install()
File "C:\CODE\__PYPE\OpenPype\openpype\__init__.py", line 47, in decorated
return func(*args, **kwargs)
File "C:\CODE\__PYPE\OpenPype\openpype\__init__.py", line 71, in install
from openpype.modules import load_modules
ImportError: cannot import name load_modules
Thanks. Missing import in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
works
from openpype.modules.ftrack.event_handlers_server.event_sync_to_avalon import ( | ||
from openpype_modules.ftrack.lib import BaseEvent | ||
from openpype_modules.ftrack.lib.avalon_sync import CUST_ATTR_ID_KEY | ||
from openpype_modules.ftrack.event_handlers_server.event_sync_to_avalon import ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
line too long (80 > 79 characters)
@@ -4,12 +4,12 @@ | |||
import pyblish.api | |||
from avalon import io | |||
|
|||
# Copy of constant `openpype.modules.ftrack.lib.avalon_sync.CUST_ATTR_AUTO_SYNC` | |||
# Copy of constant `openpype_modules.ftrack.lib.avalon_sync.CUST_ATTR_AUTO_SYNC` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
line too long (80 > 79 characters)
Description
Second step to be able implement OpenPype addons. This adds dynamic loading of OpenPype modules.
This is a proposal of a possible way how to approach addons and modules with ability to at least somehow communicate with each other. Most blocking part are currently interfaces defined by modules which require to import things in a specific order. We can modify interfaces idea or get rid of interfaces on modules side and reverse the logic of modules communications to previous state that if module want to communicate with other module he must know which methods are available and how to get the module (it's name etc.).
Changes
default_modules
openpype_interfaces
and all modules code (not module classes) can be imported using virtual python moduleopenpype_modules
interfaces.py
which are loaded before any module is importedinterfaces.py
in it's directory which must not import anything from module itself only can import from openpypeHow to test
Next PRs