Может ли кто-нибудь дать мне четкий набор инструкций по установке mod_wsgi на Ubuntu для Python 3?Установка mod_wsgi для Python3 на Ubuntu
Я получил Flask & mod_wsgi успешно используя Python3, и на короткое мгновение почувствовал себя счастливым.
... пока я не смотрел на журнал Apache и понял, что я столкнулся с этой проблемой: https://askubuntu.com/questions/569550/assertionerror-using-apache2-and-libapache2-mod-wsgi-py3-on-ubuntu-14-04-python
apt-get
устанавливает устаревшую версию libapache2-mod-wsgi-py3
и это приводит к возникновению ошибок в журнале Apache. (Должен ли я сообщить об этом, и если да где?)
В связи с этим инженер использует pip
для установки более современной версии.
Интересно, что он, кажется, устанавливает его в виртуальную среду Python3. (Будет ли это быть иначе, чем при использовании системы pip3
?)
Кроме того, он использует pip3 install mod_wsgi
, но pip3 search mod_wsgi
возвращается:
(EDIT: нет, он не делает, он использует пип не PIP3 Может ли это быть правильным. ? есть ли у него есть свои провода пересекли? не пип собирается игнорировать тот факт, что он находится в его py3venv и просто использовать установку py2 системы? Но в любом случае, не устранить путаницу ...)
mod_wsgi-metrics - Metrics package for Apache/mod_wsgi.
cykooz.recipe.pastewsgi - Buildout recipe to create paste.deploy entry points for mod_wsgi or uwsgi
mod_wsgi-httpd - Installer for Apache httpd web server.
apachemiddleware - Useful Python middleware for use with mod_wsgi deployments
tranchitella.recipe.wsgi - Buildout recipe to create paste.deploy entry points for mod_wsgi
mod_wsgi - Installer for Apache/mod_wsgi.
Итак, что такое mod_wsgi-httpd
? И уверен ли это, что это не тот, который я хочу?
Наконец, может ли кто-нибудь предоставить ссылку на установку mod_wsgi из источника?
EDIT: Я не понимаю, почему инженер использует pip install mod_wsgi
, а не pip3 ...
. Неужели это не так? Но если я использовать PIP3, я получаю:
[email protected]:~$ cd web/piFlask
[email protected]:~/web/piFlask$ source ./venv3/bin/activate
(venv3)
[email protected]:~/web/piFlask$ pip3 install mod_wsgi
Downloading/unpacking mod-wsgi
Downloading mod_wsgi-4.4.12.tar.gz (991kB): 991kB downloaded
Running setup.py (path:/home/pi/web/piFlask/venv3/build/mod-wsgi/setup.py) egg_info for package mod-wsgi
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/home/pi/web/piFlask/venv3/build/mod-wsgi/setup.py", line 141, in <module>
'missing Apache httpd server packages.' % APXS)
RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/home/pi/web/piFlask/venv3/build/mod-wsgi/setup.py", line 141, in <module>
'missing Apache httpd server packages.' % APXS)
RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/pi/web/piFlask/venv3/build/mod-wsgi
Storing debug log for failure in /home/pi/.pip/pip.log
И теперь я стараюсь pip3 install mod_wsgi-httpd
, это занимает около пяти минут, чтобы собрать:
(venv3)
[email protected]:~/web/piFlask$ pip3 install mod_wsgi-httpd
Downloading/unpacking mod-wsgi-httpd
Downloading mod_wsgi-httpd-2.4.12.5.tar.gz
Running setup.py (path:/home/pi/web/piFlask/venv3/build/mod-wsgi-httpd/setup.py) egg_info for package mod-wsgi-httpd
apr-1.5.2/
apr-1.5.2/config.layout
apr-1.5.2/build.conf
apr-1.5.2/emacs-mode
:
Так что теперь я волнуюсь, у меня второй Apache сидит в моем Py3 virtualenv.
Однако это избавляет от ошибки; pip3 install mod_wsgi
сейчас завершается успешно.
EDIT: но теперь я полностью отклеился, пытаясь следовать его инструкциям: у меня нет /etc/apache2/mods-available/wsgi_express.load
, и если он предлагает сделать это, то для начала это кажется произвольным, а во-вторых, текст, который он предлагает, в нем, то есть LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi-py34.cpython-34m.so
- этот файл не существует в моей системе.
У меня есть /etc/apache2/mods-available/wsgi.load
снова утонуть в технологии, кто-то может бросить меня линию?
Я удалил '' mod_wsgi' и mod_wsgi-httpd' использованием пипс. Теперь я застрял. Если я 'pip install mod_wsgi', я получаю ту же ошибку, что и в моем сообщении, где я пытаюсь« pip3 ... ».единственное, что я могу придумать, - использовать системный диск для установки, в надежде, что я найду систему Apache ...? –
Извините, полностью упустил проблему с apxs. Это связано с тем, что вы не установили соответствующий пакет «dev» для Apache из репозиториев пакетов Ubuntu. То, что это требуется, упоминается на странице PyPi для mod_wsgi. Без этого пакета вам не удастся заголовочные файлы Apache и его инструмент сборки, называемый «apxs». –
Я нашел страницу https://pypi.python.org/pypi/mod_wsgi - это разочаровывает, потому что она говорит * «Например, ..., если вы использовали Apf prefork MPM, вам понадобится ... Если вместо этого вы использовали MPM Apache, вам понадобится ... »* Но я никогда не слышал об этих условиях. Это разные ароматы Apache? Так почему-то я должен выяснить, какой вкус имеет мой Apache и какой будет соответствующий файл dev ...? –