Source & Installation Basics

Am I correct in guessing that Kolibri is a python project running on various systems?
And when you say 3.4+, is there any chance it may be compatible with 3.9+ ?
I suspect I’ll have to run Kolibri on 2.7 but I’m not too sure how long before that relic version will also disappear.

Hi @Daeron , I’ll try to respond inline to your questions

Am I correct in guessing that Kolibri is a python project running on various systems?

yes

And when you say 3.4+, is there any chance it may be compatible with 3.9+ ?

Yes, it’s tested in all versions from 3.6 to 3.11

I suspect I’ll have to run Kolibri on 2.7 but I’m not too sure how long before that relic version will also disappear.

For compatibility with old systems that are still alive, 2.7 is still supported, but sooner or later this support will have to be dropped.

In any case, these versions compatibility questions can be important in case you’re going to do some code development, but if you’re just going to install it, your OS installer will take care of them and you don’t need to worry about it.

Regards
José

1 Like

Thank you very much for confirming, and it is great to hear that the project has been tested up to python3.11
Might you be able to tell me what your OS installers are meant to do? Or alternatively point me to the source for the Linux installer.
I expect most likely the Kolibre directory structure will not care where it is mounted - - I mean it’s multi-platform so it be unfortunate to write absolute paths into it.
Any databases? or other environment Kolibre wants? Thanx again :blush:

Hi again

You have all the available installers at Download Kolibri | Learning Equality . For Linux you can select between three options: a deb package (best option on Debian based distributions, as Ubuntu) , a pex file or using python pip.

For the paths and many other options, after installing kolibri you can execute
kolibri configure list-env
to have a list of all the available options (and their meaning) that can be set either using environment variables or writting them at the options.ini file , in the latter case you have to remove the KOLIBRI_ prefix from the listed options.

About databases, kolibri uses by default sqlite so you don’t need to install anything. The database files are automatically created inside the kolibri directory. If you plan to run a server with high concurrency, Postgresql can be a better option, but that’s not trivial and it’ll require someone with expertise on Postgresql. No other databases are supported.

Regards
José

So I’ve let pip install it; began the resulting binary “kolibri start”
and got this result:
.local/bin/kolibri start
INFO: No C extensions are available for this platform
Traceback (most recent call last):
File “/usr/home/kolibri/.local/bin/kolibri”, line 5, in
from kolibri.utils.cli import main
File “/home/kolibri/.local/lib/python3.9/site-packages/kolibri/utils/cli.py”, line 28, in
from kolibri.utils.main import initialize
File “/home/kolibri/.local/lib/python3.9/site-packages/kolibri/utils/main.py”, line 9, in
from sqlite3 import DatabaseError as SQLite3DatabaseError
File “/usr/local/lib/python3.9/sqlite3/init.py”, line 57, in
from sqlite3.dbapi2 import *
File “/usr/local/lib/python3.9/sqlite3/dbapi2.py”, line 27, in
from _sqlite3 import *
ModuleNotFoundError: No module named ‘_sqlite3’

hi @Daeron it seems you’re running a version of python without sqlite in it. That’s quite odd, everything would be easier if you use standard installations because otherwise you’ll have problems with every library the system uses and your Python installation does not contain.

As I commented above, in case you’re on Debian or Ubuntu, installing the deb package is the way to go smoothly, without these kind of problems. It might be you’re using something more exotic because I don’t remember python 3.9 available in any stable version of those Linux distributions. If that’s the case you’ll need support from people with expertise on those distributions and in the use of Python in general.
Good luck!

José

it’s not odd, there was a reason I asked if/what database kolibri might want.
It’s running but still complains “No C extensions are available for this platform”
Could you please share a listing of python sql libraries from a Linux installation of kolibri?

@Daeron I’m afraid I can’t help you with that, I don’t quite understand what you mean. As I have mentioned in other messages Kolibri does not require any special library, just a standard python installation and the Kolibri installers will provide what it needs to be added.
If you need to know more about C extensions in Python I can’t do anything else but heading you to check any Debian/Ubuntu or even a Raspberry Pi installation. You can find by yourself what you need there and clone it in whatever system you’re building, but that’s totally out of the scope of Kolibri support.

Regards
José