Byobu not working on new installation of macOS

I am trying to migrate from Linux to macOS, but apparently byobu is not working out-of-the-box on my machine. The Fn keys partially work. I can see the error message "no previous windows" and "no next windows" when I press F3 and F4, but pressing F2 does not succeed into creating a new window in byobu terminal.

I cannot find the right shortcut to split the terminal. I am trying to reconfigure byobu to specify my escape-sequence. Unfortunately, I cannot get rid of the following error:

(base) ➜  ~ byobu-config 
ERROR: Could not import the python snack module

To me, it seems that the snack module is old, as the errors I see are related to print functions not having parenthesis (which were made mandatory in python3).

(base) ➜  ~ which python3
/opt/homebrew/bin/python3


(base) ➜  ~ python3 -m pip install snack
Collecting snack
  Using cached snack-0.0.3.tar.gz (155 kB)
    ERROR: Command errored out with exit status 1:
     command: /opt/homebrew/opt/[email protected]/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-install-zbzkbped/snack_ced1684ef4a040afb794149428c97ce1/setup.py'"'"'; __file__='"'"'/private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-install-zbzkbped/snack_ced1684ef4a040afb794149428c97ce1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-pip-egg-info-tr9ck31d
         cwd: /private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-install-zbzkbped/snack_ced1684ef4a040afb794149428c97ce1/
    Complete output (6 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-install-zbzkbped/snack_ced1684ef4a040afb794149428c97ce1/setup.py", line 47
        print GCC_VERSION
              ^
    SyntaxError: Missing parentheses in call to 'print'. Did you mean print(GCC_VERSION)?
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/15/52/7889541bad6bd053c6554e3158c91cf0d4092b251b34de5fa35e20040968/snack-0.0.3.tar.gz#sha256=98996b14811a9ce5efad938c32823bff998de104901982d98f214c73f9407096 (from https://pypi.org/simple/snack/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  Downloading snack-0.0.2.tar.gz (150 kB)
     |████████████████████████████████| 150 kB 2.7 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /opt/homebrew/opt/[email protected]/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-install-zbzkbped/snack_d44d334a48134648b9e5d033c66d1a24/setup.py'"'"'; __file__='"'"'/private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-install-zbzkbped/snack_d44d334a48134648b9e5d033c66d1a24/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-pip-egg-info-z881b130
         cwd: /private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-install-zbzkbped/snack_d44d334a48134648b9e5d033c66d1a24/
    Complete output (6 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/cd/x29qw_lj0yzf26xq_q6rzr3r0000gn/T/pip-install-zbzkbped/snack_d44d334a48134648b9e5d033c66d1a24/setup.py", line 42
        print "On OSX, ensure you have the following dependencies:"
              ^
    SyntaxError: Missing parentheses in call to 'print'. Did you mean print("On OSX, ensure you have the following dependencies:")?
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/ae/77/2c3f5f7521730c6b4e7e1d6478d68c200c78966bc463ec68c18bce8f22ab/snack-0.0.2.tar.gz#sha256=ee436458e575a305446877e42decd13e93298d6dfc20f3fbb7674fdaa5e6cf9b (from https://pypi.org/simple/snack/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement snack (from versions: 0.0.2, 0.0.3)
ERROR: No matching distribution found for snack

Do you have any idea how to make byobu work on macOS?

Thank you!


Solution 1:

The problem is snack. Its home page is https://pypi.org/project/snack/

It gives requirements as python 2.7 and does not mention python 3.

So it needs to be ported to python 3.