я узнал, как строить mod_wsgi, которые будут использоваться с Python 3.3.5, на Ubuntu 12.04 LTS.
Фокус в том, чтобы установить пакет python3.3-dev, который не поддерживается на Ubuntu 12.04 LTS («точно»). Существует 3-го хранилища партии поддерживается Феликс Крулль, что делает старый и новый Python строит доступное (Kudos Феликса!):
https://launchpad.net/~fkrull/+archive/deadsnakes
Чтобы установить хранилище Феликса:
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
Перед началом сборки mod_wsgi нам нужен пакет apache2-dev ...
sudo apt-get install apache2-dev
... и получить пакет python3.3-DEV (это фактически устанавливает python3.3, как хорошо!)
Sudo APT-получить установку python3.3-DEV
Загрузите код mod_wsgi и создайте его, указав путь к только что установленным папкам и заголовкам Python (/usr/bin/python3.3). Загрузить ссылку с последней версией mod_wsgi можно найти по адресу:
https://github.com/GrahamDumpleton/mod_wsgi/releases
cd /usr/local/src
sudo wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/modwsgi/mod_wsgi-3.4.tar.gz
sudo tar -zxvf mod_wsgi-3.4.tar.gz
cd mod_wsgi-3.4/
sudo ./configure --with-python=/usr/bin/python3.3
sudo make
sudo make install
mod_wsgi.so помещается в/USR/Lib/apache2/модули/
Дополнительно step: Поскольку они отсутствовали, я вручную (повторно) создал файлы wsgi.conf и wsgi.load в/etc/apache2/mods-available (хотя мне не нужно было устанавливать какой-либо конкретный параметр).
wsgi.конф:
<IfModule mod_wsgi.c>
# See http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives
#WSGISocketPrefix: Configure directory to use for daemon sockets.
#WSGISocketPrefix /var/run/apache2/wsgi
#WSGIPythonOptimize: Enables basic Python optimisation features.
#WSGIPythonOptimize 0
#WSGIPythonPath: Additional directories to search for Python modules,
# overriding the PYTHONPATH environment variable.
#WSGIPythonPath directory|directory-1:directory-2:...
#WSGIPythonEggs: Directory to use for Python eggs cache.
#WSGIPythonEggs directory
#WSGIRestrictEmbedded: Enable restrictions on use of embedded mode.
#WSGIRestrictEmbedded On|Off
#WSGIRestrictStdin: Enable restrictions on use of STDIN.
#WSGIRestrictStdout: Enable restrictions on use of STDOUT.
#WSGIRestrictSignal: Enable restrictions on use of signal().
#WSGIRestrictStdin On
#WSGIRestrictStdout On
#WSGIRestrictSignal On
#WSGIAcceptMutex: Specify type of accept mutex used by daemon processes.
#WSGIAcceptMutex default
#WSGIImportScript: Specify a script file to be loaded on process start.
#WSGIImportScript process-group=name application-group=name
#WSGILazyInitialization: Enable/disable lazy initialisation of Python.
#WSGILazyInitialization On|Off
</IfModule>
wsgi.load:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
Наконец, mod_wsgi может быть включена создание символических ссылок:
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/wsgi.conf wsgi.conf
sudo ln -s ../mods-available/wsgi.load wsgi.load
Сообщите мне, если это также сработало для вас!
Не могли бы вы поделиться тем, как вы решили это, если вообще? Спасибо! – Visionscaper
@Visionscaper В итоге я просто изменил проект, чтобы использовать более низкую версию Python. Подавляющее большинство кода одинаково для обеих версий Python, поэтому в основном это вопрос переустановки зависимостей для правильной версии Python – Hat
. Я нашел решение, поэтому я написал свой ответ ниже! – Visionscaper