У меня есть сайт, на котором написано site.com/weather/a1.py
Когда я пытаюсь запустить этот файл, он показывает версию Python как 2.6, тогда как если я выполняю его, войдя в терминал через Putty, он показывает мне версию Python как 3.6.
Может ли кто-нибудь рассказать мне, как использовать Python3.6 для файлов, выполняемых через cgi-bin?
Примечание: я недавно изменил свою версию Python, используя здесь
Сначала выясним, откуда взялась версия Python 3.6:
which python
также проверьте, где установлен ваш python3.
which python3
Проверить с помощью ls -l
чтобы узнать, является ли какой-либо из путей мягкой ссылкой. Добавьте / измените первую строку в a1.py, чтобы использовать соответствующую строку Shabang. Например.
#!/usr/local/bin/python3
Помните, что PATH сервера apache, скорее всего, не совпадает с тем, который вы используете.
У вас должен быть модуль apache mod_wsgi для 2.6 в apache, поэтому apache относится к более старой версии python. Вы можете установить более новую версию mod_wsgi, используя приведенные ниже команды.
Redhat / Centos
Список доступных версий mod_wsgi
yum list *mod_wsgi*
Выберите правильную версию и установите с помощью yum.
yum install python36u-mod_wsgi
Ubuntu
sudo apt-get -y install libapache2-mod-wsgi-py3
Reatsrt apache после успешной установки загрузит python версии 3.x в конфигурации apache.
Специально для CentOS
После выполнения вышеизложенного вам также необходимо сделать это
1.Remove mod_python.so from apache httpd.conf
2.python.conf might be available either in /etc/httpd/conf or /etc/http/conf.d
3.Comment out all the lines in it
4.Add WSGI alias as mentioned over [here][1]
5.Then restart apache