Есть ли правильный способ заставить web2py использовать Python3 вместо Python2? - PullRequest
0 голосов
/ 07 февраля 2020

Я уже пару лет использую web2py с Python v2, и теперь я бы хотел переключиться на Python 3 времени выполнения, но я не уверен, как правильно?

Я обычно устанавливаю web2py, используя скрипт установки, доступный по здесь , и он работает под Ubuntu 18.04 .

djordje@vmi:~$ python --version
Python 2.7.17
djordje@vmi:~$ python3 --version
Python 3.6.9
djordje@vmi:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:        18.04
Codename:       bionic

Я пытался установить значение по умолчанию Python версия до 3, как объяснено в этой ссылке с использованием:

update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3 10

и она устанавливает значение по умолчанию Python в v3, но даже после перезагрузки сервера - web2py по-прежнему работает с Python v2.

Version
2.18.5-stable+timestamp.2019.04.08.04.22.03
(Running on nginx/1.14.0, Python 2.7.17)

Есть ли рекомендуемый способ настроить web2py для работы с Python 3 на Linux?

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

Мы смогли переключиться между python 2 и 3 на наших серверах web2py, удалив пакет uwsgi pip одной версии, установив другую и перезапустив службу:

pip uninstall uwsgi
pip3 install uwsgi
service uwsgi restart
1 голос
/ 08 февраля 2020

После нескольких дней поиска кажется, что я нашел что-то довольно простое для реализации и работает в моем случае. Благодаря следующей ссылке .

я установил следующее:

apt install uwsgi-plugin-python3

, а затем перечислил установленные плагины в / usr / bin:

ls /usr/bin/uwsgi_python*

Их было два: uwsgi_ python3 и uwsgi_python36, поэтому я использовал:

update-alternatives --set uwsgi /usr/bin/uwsgi_python36

И после перезагрузки сервера все заработало:

2.18.5-stable+timestamp.2019.04.08.04.22.03
(Running on nginx/1.14.0, Python 3.6.9)

Может быть, есть лучше (предпочтительный способ), но я не хотел ни добавлять виртуальную среду, ни менять версию ОС по умолчанию Python. Таким образом, я только что обновил среду выполнения uwsgi.

...