I am getting a failure message when connecting from a Macintosh to a remote Linux server that says.
Unsupported: Python 0.0.1 (System) failed to start.
Error
The Python sqlite3 extension is required but not installed for interpreter: Python. Missing the system library for SQLite?
I don't understand from where Positron is getting a python 0.0.1, and I don't understand what is meant by 'Python sqlite3 extension' nor where to get one nor whether that is on the remote or local machine.
This is what I am working with.
On the local Mac, Mac OS 14.8.4 (Sonoma), I have the default system python,
$ which sqlite3
/usr/bin/sqlite3
$ sqlite3
SQLite version 3.43.2 2023-10-10 13:08:14
Enter ".help" for usage hints.
$ python3
Python 3.9.6 (default, Nov 11 2024, 03:15:38)
[Clang 16.0.0 (clang-1600.0.26.6)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.version_info
(2, 6, 0)
On the remote machine,
$ rpm -qa | grep sqlite
sqlite-libs-3.34.1-7.el9_3.x86_64
sqlite-3.34.1-7.el9_3.x86_64
$ sqlite3
SQLite version 3.34.1 2021-01-20 14:10:07
Enter ".help" for usage hints.
$ python3
Python 3.9.21 (main, Feb 10 2025, 00:00:00)
[GCC 11.5.0 20240719 (Red Hat 11.5.0-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.version_info
(2, 6, 0)
$ uname -r
5.14.0-570.72.1.el9_6.x86_64
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.6 (Plow)
Have you tried installing a non-system Python on the remote server for use with your data science work? That would generally be considered best practice anyway, and to make a venv so that you don't mess around with the system Python. My current preferred tool for this is uv:
Ah, it was detecting a homebrew installation on the Mac that I had forgot about. I removed that, then it asked about install pip and iPykernel using a /bin/python that doesn't seem to exist on my Mac.
As I am only exploring this for someone else, I think I'll have them try themself, since it seems that per-user customization may be needed (or needs to be undone) on both sides. If they run into problems, they'll be able to modify their environment accordingly.