Installing Figures plugin on Tutor Amazon AMI

I was trying to install the Figures plugin from the official Tutor AMI from these instructions:

However,

  1. pip is not installed, nor is python, so I had to install those both first.
  2. After I’ve installed them, I still see:

tutor plugins enable figures
Error: plugin ‘figures’ is not installed.

I guess maybe the Amazon image is incompatible with this plugin since that page also says “This plugin requires tutor>=3.5.0. Also, you should have installed tutor from source, and not from a pre-compiled binary.”?

CLI Output here:

curl -O https://bootstrap.pypa.io/get-pip.py
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1882k  100 1882k    0     0  36.0M      0 --:--:-- --:--:-- --:--:-- 36.0M
tutor@ip-123-123-123-123:~$ python3 get-pip.py --user
Collecting pip
  Downloading pip-21.0.1-py3-none-any.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 20.3 MB/s 
Collecting wheel
  Downloading wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel, pip
  WARNING: The script wheel is installed in '/home/tutor/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts pip, pip3 and pip3.8 are installed in '/home/tutor/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-21.0.1 wheel-0.36.2
tutor@ip-123-123-123-123:~$ pip install tutor-figures

Command 'pip' not found, but there are 18 similar ones.

tutor@ip-123-123-123-123:~$ .local/bin/pip install tutor-figures
Defaulting to user installation because normal site-packages is not writeable
Collecting tutor-figures
  Downloading tutor-figures-0.3.0.tar.gz (3.5 kB)
Collecting tutor-openedx<10.0.0
  Downloading tutor-openedx-3.12.6.tar.gz (48 kB)
     |████████████████████████████████| 48 kB 5.4 MB/s 
Collecting appdirs
  Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Requirement already satisfied: click>=7.0 in /usr/lib/python3/dist-packages (from tutor-openedx<10.0.0->tutor-figures) (7.0)
Collecting click_repl
  Downloading click_repl-0.1.6-py3-none-any.whl (4.2 kB)
Requirement already satisfied: jinja2>=2.9 in /usr/lib/python3/dist-packages (from tutor-openedx<10.0.0->tutor-figures) (2.10.1)
Collecting kubernetes
  Downloading kubernetes-12.0.1-py2.py3-none-any.whl (1.7 MB)
     |████████████████████████████████| 1.7 MB 23.8 MB/s 
Requirement already satisfied: pyyaml>=4.2b1 in /usr/lib/python3/dist-packages (from tutor-openedx<10.0.0->tutor-figures) (5.3.1)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from click_repl->tutor-openedx<10.0.0->tutor-figures) (1.14.0)
Collecting prompt-toolkit
  Downloading prompt_toolkit-3.0.16-py3-none-any.whl (366 kB)
     |████████████████████████████████| 366 kB 45.9 MB/s 
Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0
  Downloading websocket_client-0.58.0-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 7.6 MB/s 
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from kubernetes->tutor-openedx<10.0.0->tutor-figures) (2.22.0)
Collecting requests-oauthlib
  Downloading requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)
Collecting google-auth>=1.0.1
  Downloading google_auth-1.27.1-py2.py3-none-any.whl (136 kB)
     |████████████████████████████████| 136 kB 58.3 MB/s 
Requirement already satisfied: certifi>=14.05.14 in /usr/lib/python3/dist-packages (from kubernetes->tutor-openedx<10.0.0->tutor-figures) (2019.11.28)
Requirement already satisfied: setuptools>=21.0.0 in /usr/lib/python3/dist-packages (from kubernetes->tutor-openedx<10.0.0->tutor-figures) (45.2.0)
Requirement already satisfied: urllib3>=1.24.2 in /usr/lib/python3/dist-packages (from kubernetes->tutor-openedx<10.0.0->tutor-figures) (1.25.8)
Collecting python-dateutil>=2.5.3
  Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
     |████████████████████████████████| 227 kB 48.8 MB/s 
Collecting rsa<5,>=3.1.4
  Downloading rsa-4.7.2-py3-none-any.whl (34 kB)
Collecting cachetools<5.0,>=2.0.0
  Downloading cachetools-4.2.1-py3-none-any.whl (12 kB)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/lib/python3/dist-packages (from google-auth>=1.0.1->kubernetes->tutor-openedx<10.0.0->tutor-figures) (0.2.1)
Requirement already satisfied: pyasn1>=0.1.3 in /usr/lib/python3/dist-packages (from rsa<5,>=3.1.4->google-auth>=1.0.1->kubernetes->tutor-openedx<10.0.0->tutor-figures) (0.4.2)
Collecting wcwidth
  Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/lib/python3/dist-packages (from requests-oauthlib->kubernetes->tutor-openedx<10.0.0->tutor-figures) (3.1.0)
Building wheels for collected packages: tutor-figures, tutor-openedx
  Building wheel for tutor-figures (setup.py) ... done
  Created wheel for tutor-figures: filename=tutor_figures-0.3.0-py3-none-any.whl size=4980 sha256=982af004c88570c94fc9bc542cd3261c2f87055ae6519601856beb1620830afa
  Stored in directory: /home/tutor/.cache/pip/wheels/30/77/da/d4a5d151394f1a0ba4841c3ceb6883b60b8366ae05078e5735
  Building wheel for tutor-openedx (setup.py) ... done
  Created wheel for tutor-openedx: filename=tutor_openedx-3.12.6-py3-none-any.whl size=75681 sha256=172236ebb2c2d0799919e422ffc51e5dafa6530e92458ab14235bc690927dfe9
  Stored in directory: /home/tutor/.cache/pip/wheels/25/da/1f/72560e9173c3223621d47d6c66a4130d6f36c71b21528010fc
Successfully built tutor-figures tutor-openedx
Installing collected packages: wcwidth, rsa, cachetools, websocket-client, requests-oauthlib, python-dateutil, prompt-toolkit, google-auth, kubernetes, click-repl, appdirs, tutor-openedx, tutor-figures
  WARNING: The scripts pyrsa-decrypt, pyrsa-encrypt, pyrsa-keygen, pyrsa-priv2pub, pyrsa-sign and pyrsa-verify are installed in '/home/tutor/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script tutor is installed in '/home/tutor/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed appdirs-1.4.4 cachetools-4.2.1 click-repl-0.1.6 google-auth-1.27.1 kubernetes-12.0.1 prompt-toolkit-3.0.16 python-dateutil-2.8.1 requests-oauthlib-1.3.0 rsa-4.7.2 tutor-figures-0.3.0 tutor-openedx-3.12.6 wcwidth-0.2.5 websocket-client-0.58.0
tutor@ip-123-123-123-123:~$ tutor plugins enable figures
Error: plugin 'figures' is not installed.

Hi @oedx! Which tutor version are you running? Unfortunately, the figures plugin is not compatible with recent releases of Tutor, because the upstream project has still not been upgraded to Koa: GitHub - appsembler/figures: Reporting and data retrieval app for Open edX

I’m running the latest. So that explains it then. Thanks