Я устанавливаю приложение Django на сервер Centos 7. Приложение использует Django 2.2, для которого требуется SQLite 3.8.3 или новее. Centos поставляется с SQLite 3.7 с 2013 года.
Когда я компилирую SQLite 3 из исходников и запускаю make install
, он устанавливает новый SQLite в /usr/local/bin
. Бег sqlite3 --version
показывает версию 3.30, как и положено. Однако Python продолжает видеть старую версию SQLite.
Перекомпиляция Python не помогает. Оказывается, есть /usr/lib64/libsqlite3.so.0.8.6
общий объект, который используется Python. Этот общий объект не обновляется при повторной компиляции SQLite, и при этом не создается новый общий объект (я запускал ./configure --enable-shared
).
Я не вижу другого выхода, кроме перехода на Django 2.1 или перехода на Linux на базе Debian.