Те кто пишет на Django и в тестовой среде используют sqlite, на новых версиях возникает ошибка SQLite 3.8.3 or later is required (found 3.7.17). Это значит, что django, начиная с версии 2.2 использует sqlite старше 3.7.17. Поумолчанию в Centos 7 стоит старая версия.
На данную тему у меня уже была статья , можно и по ней установить, решил написать более подробно
SQLite 3.8.3 or later is required (found 3.7.17)
Все действия произведены на "чистом" Centos 7
Для начала обновим систему
yum update -y
Ставим необходимые библиотеки:
yum -y install yum-utils
yum -y groupinstall development
yum -y install openssl-devel sqlite-devel libffi-devel bzip2-devel libzip-devel xz-devel lzma-sdk-devel uuid-devel readline-devel ncurses-devel
УСТАНОВКА PYTHON
Python будем ставить последню версию на данный момент:
cd ~
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
tar xJf Python-3.7.3.tar.xz
cd Python-3.7.3
./configure
make && make install
export PATH=$HOME/opt/python-3.7.3/bin:$PATH
Теперь запускаем:
source .bash_profile
и проверяем:
python3 --version
Python 3.7.3
УСТАНОВКА SQLITE
Ставим теперь последнюю версию SQLITE:
$ cd ~
$ wget https://www.sqlite.org/2019/sqlite-autoconf-3290000.tar.gz
$ tar zxvf sqlite-autoconf-3290000.tar.gz
cd sqlite-autoconf-3290000
$./configure --prefix=$HOME/opt/sqlite
$ make && make install
Далее, что ваш python знал что выполнять, пропишем:
export PATH=$HOME/opt/sqlite/bin:$PATH
export LD_LIBRARY_PATH=$HOME/opt/sqlite/lib
export LD_RUN_PATH=$HOME/opt/sqlite/lib
Проверим версию sqlite3:
[root@malax-test]# sqlite3 --version
3.29.0 2019-07-10 17:32:03
УСТАНОВКА PIP
Теперь ставим PIP:
curl https://bootstrap.pypa.io/get-pip.py | python3.7
ну или так, если нет curl'а
wget https://bootstrap.pypa.io/get-pip.py
python3.7 get-pip.py
УСТАНОВКА DJANGO 2.2.5
для начала установим virtualenv
python3.7 -m pip install virtualenv
Создадим виртуальное окружение:
virtualenv myvenv37
запустим виртуальное окружение:
cd myenv37
source bin/activate
ставим django
(myvenv37)[me@test my_project]$ pip install django
Делаем миграцию:
(myenv37)[me@test my_project]$ python manage.py migrate
И запускаем сервер
(myenv37)[me@test my_project]$ python manage.py runserver