Troubles with dev mode

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.

Hello,
How was your bundle configured?
I think there may be a missing addon.

Does the issue remain when you use the bundle brought by Updating Pipeline to latest Release - AYON ?

Thank you for the response.
The launcher is a checkout of the develop branch.
Not sure how the bundle was configured, I believe I created it in the terminal? The dev bundle is version 1.5.5-dev.

ayon-core is pointed to local disk. But I believe the issue existed before, and that was an attempted fix (by ensuring core is the latest in git). Could it be that core’s dependencies do not get installed in this case?

It seems like core had to be upgraded, otherwise something else broke (a call to getargspec that is for older Python, or something similar)

As far as I know, the dependency tool expects the launcher to be uploaded and added to your bundle as well as the addons.

A quick fix for your issue can be to update your pipeline as outlined in Updating Pipeline to latest Release - AYON which will bring you a pre configured bundle and dependency package.

Thanks, will try tomorrow and report back.

This worked, and Launcher starts up in dev mode now. Cheers.

I think some of the problems raised in the GitHub ticket may still be relevant. I’ll retest them.

It might be as some of the issues can happen because of missing an addon or missing building and uploading the AYON launcher to the AYON Server.

I’d say the reproducible steps are missing the configuration for your bundle. like which addons you had which versions which launcher and how did you generated dependency package and etc.

Alright, I’ll close down the ticket, and reopen it if I manage to reproduce.

Unfortunately, I did not record my steps until getting to the errors.