Hi, I have followed a couple of guides (1, 2) on setting up dev mode, but so far have been unsuccessful.
I created an issue on GitHub regarding some of the problems: https://github.com/ynput/ayon-launcher/issues/306
For a start, I would like to develop a new addon, but with the possibility of debugging e.g. ayon-core.
This is half-rant, half-call for help. What did I miss that the journey became so bumpy?
Status
I was able to activate my addon in dev mode in the web ui. I pointed a couple of other addons to disk locations.
Issues
Missing dependencies
I ran make.sh --install-runtime-dependencies, but there are still missing ones. For example click, which is required by ayon-core.
To get around this, I simply install packages into the venv.
Then, pyblish is missing, too. Installing this from uv pip seems to install an old version pyblish-base==1.8.7. This version leads to another error, which apparently is caused by the wrong Python version (since inspect is in stdlib):
File "/mnt/data/devel/ayon-launcher/.venv/lib/python3.11/site-packages/pyblish/plugin.py", line 195, in __init__
evaluate_enabledness(cls)
File "/mnt/data/devel/ayon-launcher/.venv/lib/python3.11/site-packages/pyblish/plugin.py", line 150, in evaluate_enabledness
args_ = inspect.getargspec(plugin.process).args
^^^^^^^^^^^^^^^^^^
AttributeError: module 'inspect' has no attribute 'getargspec'
Then I install pyblish from source into the venv (1.8.12). Now other packages are missing, such as speedcopy, websocket, etc. One by one I install these into the venv.
As far as I understand, these are dependencies of addons, such as ayon-core. I half expected make.sh to scan the dependencies of other packages, as is implied in the documentation (or is this only when creating a dependency package).
Missing icon
Once all dependencies have been satisfied, I get to this error, which does not occur in non-dev mode:
>>> [ Didn't find icon "fa.refresh" ]
Traceback (most recent call last):
File "/mnt/data/devel/ayon-core/client/ayon_core/tools/tray/ui/tray.py", line 590, in _show_launcher_window
self._launcher_window = LauncherWindow()
^^^^^^^^^^^^^^^^
File "/mnt/data/devel/ayon-core/client/ayon_core/tools/launcher/ui/window.py", line 63, in __init__
refresh_btn = RefreshButton(projects_header_widget)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/data/devel/ayon-core/client/ayon_core/tools/utils/widgets.py", line 1231, in __init__
self.setIcon(get_refresh_icon())
TypeError: 'PySide6.QtWidgets.QAbstractButton.setIcon' called with wrong argument types:
PySide6.QtWidgets.QAbstractButton.setIcon(NoneType)
Supported signatures:
PySide6.QtWidgets.QAbstractButton.setIcon(icon: PySide6.QtGui.QIcon | PySide6.QtGui.QPixmap, /)
I have not been able to debug this yet.