IT-SERVICES

Опубликовано: 17 сентября 2019 г. 16:00

Те кто пишет на Django и в тестовой среде используют sqlite, на новых версиях возникает ошибка SQLite 3.8.3 or later is required (found 3.7.17). Это значит, что django, начиная с версии 2.2 использует sqlite старше 3.7.17. Поумолчанию в Centos 7 стоит старая версия.

На данную тему у меня уже была статья , можно и по ней установить, решил написать более подробно

featured-image

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

 

Share on Facebook Share on LinkedIn Share on VK