Эти ответы больше не верны для Django 1.6 - он поддерживает python3. Страница mod_wsgi говорит, что версия 3.4 поддерживает Python 3 . https://code.google.com/p/modwsgi/
Не знаю, все ли работает на этом этапе (я вернусь и отредактирую, когда узнаю)!
Ответ - ДА, это работает!
У меня есть экземпляр AWS EC3 Ubuntu, на котором запущены Python3, Django 1.5.6, Apache2.2 и mod_wsgi 3.4
Python 3.3.4:
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get install python3.3
sudo apt-get install python3.3-dev python3.3-doc idle-python3.3
ppa: fkrull / deadsnakes - это apt-репозиторий, в котором доступно несколько версий python - см. https://launchpad.net/~fkrull/+archive/deadsnakes
Затем я добавил pip, используя инструкции на странице pip; http://pip.readthedocs.org/en/latest/installing.html. (помните, что ваш python, вероятно, находится на вашем пути, так как 'python3.3' на этом этапе, простой 'python' будет указывать на python 2.x!)
После этого, virtualenv. Тогда я virtualenv'd установку Python. После активации и добавления каталога bin / среды в $ PATH у меня теперь есть чистый python3.
Затем, после того, как я активировал виртуальную среду, я сделал 'pip Django' и все другие необходимые мне пакеты (которых было немало). У меня Django версии 1.6.2 (я разрабатывал на этом и без проблем работал под python 3.3.3 на моем Mac).
Самая большая проблема, с которой я столкнулся, была установка lxml, потому что он требует установки libxml2 и libxslt с помощью apt-get (это обертка вокруг кода C), и мне потребовалось несколько попыток понять, что они еще не установлены (сборка lxml не удалась).
После того, как я попытался запустить и запустить мой экземпляр базы данных RDS (postgresql, остерегайтесь mysql под python3, у вас будет много проблем с драйвером базы данных python! Но большинство моих проблем было вызвано тем, что я пытался понять безопасность AWS конфигурация), это был относительно простой парусный спорт:
sudo apt-get install apache2 apache2-threaded-dev
Это устанавливает apache - и вам нужны пакеты dev для следующего бита.
И в этот момент я попытался использовать пакет apt для mod_wsgi, но решил, что лучше всего скомпилировать и установить его самостоятельно, следуя инструкциям здесь - https://code.google.com/p/modwsgi/wiki/InstallationInstructions
У меня не было проблем с настройкой, сборкой или установкой. Убедитесь, что вы скомпилировали его в вашей среде, активированной virtualenv.
Вы должны вручную добавить конфигурацию в конфигурацию Apache:
# wsgi module
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
# now configure it
<Directory /my/app/path>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
WSGIScriptAlias / /my/app/path/wsgi.py
WSGIPythonPath /my/app:/path/to/the/virtual/env/lib/python3.3/site-packages
И в самом широком смысле, это все теперь работает.