codota/jupyter-tabnine

linux issue

amircodota opened this issue · 4 comments

Hi folks,

Amir from codota here (the company behind TabNine).

We have recently introduced an issue were some linux users might have TabNine stop working. We suspect it might affect jupyter notebooks users (on linux only).

The issue started with TabNine 3.2.22 and was fixed in TabNine 3.2.28 which is already released. Therefore, new users should not be affected by this issue.

However, existing users that have updated to one of the problematic versions might have TabNine disappear.

The workaround to this issue is simple.

  1. Locate TabNine's binaries dir, which is located under your jupyter_tabnine installation dir. (On my machine it was /home/amir/.local/lib/python3.6/site-packages/jupyter_tabnine/binaries but YMMV).
  2. Under this directory there are multiple versions of TabNine's binary. Locate the latest version.
  3. Under the version directory, you should have a directory named x86_64-unknown-linux-musl. Rename that directory to x86_64-unknown-linux-gnu.
  4. Restart your jupyter notebook.

Hope this helps and apologies for any inconvenience caused
Amir

Hi @amircodota, thanks for sharing. I did come across this problem and solved by using an old version under https://github.com/codota/tabnine-vim/tree/master/binaries/2.9.2

Hi @amircodota, could you build a binary for ARM, I would like to deploy a server on raspberry pi 4. However, no binary available. Really appreciate it if you can help with this.

@wenmin-wu I'm afraid we do not currently support ARM.

Will just paste the error I was getting so Google can send people here:

Traceback (most recent call last):
      File "/home/victor/anaconda3/lib/python3.8/site-packages/tornado/web.py", line 1703, in _execute
        result = await result
      File "/home/victor/anaconda3/lib/python3.8/site-packages/jupyter_tabnine/handler.py", line 14, in get
        self.write(response)
      File "/home/victor/anaconda3/lib/python3.8/site-packages/tornado/web.py", line 834, in write
        raise TypeError(message)
    TypeError: write() only accepts bytes, unicode, and dict objects

Thank you for your attention for promptly posting this