Release: 2.0.6.106 (canary) 2023-05-03

2.0.6.106-2.0.6.106_canary_2023-05-03

  • Added endpoints for S3 compatible storage from Scaleway, thanks
    @adithajay
  • updates rumps to python3, add icon normal-warning, set rumps as default,
    thanks @gpatel-fr
3 Likes

Thanks for cutting this release.

For the record, running Duplicati with trayicon support is now working conditioned by running
sudo pip3 install pyobjc
support:

  • Ventura: unknown (I don’t have access to this platform)
  • Monterey: working
  • Big sur: working but sudo pip3 install pyobjc has issues, it may fail at first, I upgraded pip itself, and it finally installed
  • Catalina: not working (too old to support easily)
1 Like

Ventura starts as expected with pyobjc installed

2 Likes

I’m running in macOS Monterey (and have homebrew installed). Duplicati runs in the background and the web UI works, but the trayicon doesn’t show up.

I’ve installed pyobjc via pip3 as you mentioned.

When you said trayicon is now working, is there something different/specific you’re doing (e.g., a terminal command) other than just running Duplicati from /Applications?

If I try running

mono Duplicati.GUI.TrayIcon.exe 

I get an endless repeat of the following:

Unexpected message: Traceback (most recent call last):
Unexpected message: File "/Users/[user]/Library/Application Support/Duplicati/updates/2.0.6.106/OSXTrayHost/osx-trayicon-rumps.py", line 3, in <module>
Unexpected message: import rumps
Unexpected message: File "/Users/[user]/Library/Application Support/Duplicati/updates/2.0.6.106/OSXTrayHost/rumps.py", line 24, in <module>
Unexpected message: from Foundation import (NSDate, NSTimer, NSRunLoop, NSDefaultRunLoopMode, NSSearchPathForDirectoriesInDomains,
Unexpected message: ModuleNotFoundError: No module named 'Foundation'

Is there a step/something else I’m missing in getting the TrayIcon to appear?

@earthsound

could it be that python2 is installed on your computer ? can you try in a terminal ‘python’, ‘python3’, and in any interpreter that comes up, try to type ‘import pyobjc’ ? Like this (this is not on a Mac, so details will differ):

python3
Python 3.11.0 | packaged by conda-forge | (main, Oct 25 2022, 06:24:40) [GCC 10.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyobjc

I get the same endless ModuleNotFoundError: No module named 'Foundation' error on Ventura. I do have python3 installed (3.11.3) and did install pyobjc.

I don’t have any version of python2 installed, but several versions of python3 (3.6.8, 3.9.16, 3.10.11, & 3.11.3).

Attempting to import pyobjc gave this result:

Python 3.11.3 (main, Apr  7 2023, 19:29:16) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyobjc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pyobjc'

Since I installed with sudo pip, I ran

sudo pip3 uninstall pyobjc

Then ran it normally

pip3 install pyobjc

Still get the same error when trying to import pyobjc in the interpreter.

Next, I tried

import objc

…inside the python3.11.3 interpreter & that seemed to execute without error, however, the trayicon still doesn’t appear if running Duplicati from /Applications.

If I run

mono Duplicati.GUI.TrayIcon.exe 

I get the same endlessly repeated error above & no TrayIcon.
Would love to troubleshoot this more, but, if I’m misremembering how I installed python3 on this box, I’m rusty on how to tell which python3 may have been installed by homebrew and/or Apple’s Xcode developer tools and how that may impact this, if at all.

@earthsound

yes, my mistake, you can’t import pyobjc.
Since you have a lot of snakes in your setup, the one Duplicati is interested in is

/usr/bin/python3

run it and try to import Foundation (for example)

I don’t have access to a Mac with Ventura, however @katertje reported success.
Did you install pyobjc in the system python (/usr/bin/python3) ? It should happen by itself by running in a terminal sudo pip3 install pyobjc.

I was able to import Foundation after running python3.11 (version & which below):

python3 --version && which python3
Python 3.11.3
/usr/local/bin/python3

…but that didn’t fix the issue.

With your info that Duplicati only cares what’s in usr/bin/python3, I see that version is 3.9.6. Trying to import Foundation there didn’t work, either.

The fix: after I installed pyobjc using the pip3 sitting in /usr/bin

/usr/bin/pip3 install pyobjc

…when I run Duplicati from /Applications I get the TrayIcon!
image
It also launches properly when I run:

mono Duplicati.GUI.TrayIcon.exe

…without error.

I see, the problem is that you are using Homebrew, so there are several pip installed.

I’m also using homebrew. @earthsound’s fix worked for me.