Я решил похожую ситуацию с помощью следующих патчей кода. Выполните эти шаги, которые я использовал на моем собственном centos7, и все должно быть в порядке.
Просто не забудьте сообщить своим centos7, что вы звоните python3
, а не просто python
, иначе он вызовет python2 по умолчанию, за которым последует ряд ошибок в вашем virtualenv
.
Установка python3 (из источника):
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
Установка вашего sqlite3 (из источника):
$ 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
Теперь это то, что вы также должны помнить, чтобы centos7 знал, где искать ваш python3, а не по умолчанию для python2. На вашем .bash_profile
скопируйте и пропустите этот фрагмент кода или измените пути соответственно:
export PATH=$HOME/opt/sqlite/bin:$PATH
export LD_LIBRARY_PATH=$HOME/opt/sqlite/lib
export LD_RUN_PATH=$HOME/opt/sqlite/lib
Сделайте его постоянным, запустив: source .bash_profile
и вы сделали с sqlite3 version >= 3.8
. Подтвердите это:
sqlite3 --version
3.29.0 2019-07-10 17:32:03
И затем вы можете продолжать использовать python3 для установки таких модулей python3, как django-2.2.
python3.7 -m pip3 install virtualenv
(myvenv37)[me@test my_project]$ python3.7 -m pip3 install django
Successfully installed django-2.2.3 pytz-2019.1 sqlparse-0.3.0
Помните, это
PYTHON3.7 -m pip3 install MODULE
(myvenv37)[me@test my_project]$ python3.7 manage.py runserver
и сервер должен работать.
Итак, в заключение, в приведенном выше случае это было migrate
, и должно выглядеть так:
(venv)[me@test my_project]$ python3.7 manage.py migrate