Как скомпилировать Mod_Python 3.3.1 для Python 2.6 и Apache 2.2 в Windows?
У меня нет опыта компиляции кода, кроме использования команды сборки Visual Studio. Я надеюсь, что мы можем создать пошаговое руководство по компиляции mod_python
на окнах. Пожалуйста, будьте как можно более наглядны.
Это то, что я сделал до сих пор:
- Загрузите и установите Python 2.6.2
- Скачайте и установите apache 2.2.11
- Загрузите самый последний исходный код для mod_python с svn
Отсюда я потерян к следующему шагу. Я скачал Microsoft Visual C++ 2008 Express Edition.
Сообщения об ошибках, которые я получаю от запуска учебника, упомянутого Брэдом.
C: \ mod_python \ dist> build_installer.bat Не удалось найти C:\mod_python\src*.obj, выполняющий bdist_wininst, выполняющий сборку, выполняющий build_py, создающий сборку, создающий сборку \lib.win32-2.6, создающий сборку \lib.win32-2.6\mod_python, копирующий C:\mod_python\lib\python\mod_python\apache.py -> build\lib.win32-2.6\mod _python копирование C:\mod_python\lib\python\mod_python\cache.py -> build\lib.win32-2.6\ Копирование mod_ python C:\mod_python\lib\python\mod_python\cgihandler.py -> build\lib.win32-2.6 \mod_python копирование C:\mod_python\lib\python\mod_python\Cookie.py -> build\lib.win32-2.6\mod _python копирование C:\mod_python\lib\python\mod_python\importer.py -> build\lib.win32-2.6\m od_python копирование C:\mod_python\lib\python\mod_python\psp.py -> сборка \lib.win32-2.6 \ mod_py для копирования C:\mod_python\lib\python\mod_python\publisher.py -> build\lib.win32-2.6\ mod_python для копирования C:\mod_python\lib\python\mod_python\python22.py -> build\lib.win32-2.6\m od_python копирование C:\mod_python\lib\python\mod_python\Session.py -> build\lib.win32-2.6\mo d_python копирование C:\mod_python\lib\python\mod_python\testhandler.py -> build\lib.win32-2. 6\mod_python копирование C:\mod_python\lib\python\mod_python\util.py -> build\lib.win32-2.6\mod_p ython копирование C: \ mod_python \ lib \ python \ mod_python__init __. Py -> build \ lib.win32 -2.6 \ m od_python выполнение build_ext сборка расширения 'mod_python_so' создание сборки \temp.win32-2.6 создание сборки \temp.win32-2.6\ выпуск выпуска создание сборки \temp.win32-2.6\ выпуск \ mod_python создание сборки \temp.win32-2.6\Release\mod_python\src C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W 3 /GS- /DNDEBUG -DWIN32 -DNDEBUG -D_WINDOWS -IC:\mod_python\src\include -Ic:\apa che\include -IC:\Python26\include -IC:\Python26\PC /TcC:\mod_python\src\mod_pyth on.c /Fobuild\temp.win32-2.6\Release\mod_python\src\mod_python.obj mod_python.c c:\apache\include\ap_config.h(25): фатальная ошибка C1083: невозможно открыть включаемый файл: 'apr.h': нет такого файла или ошибка каталога: команда '' C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"', состояние выхода 2 не выполнено
2 ответа
На вашем месте я бы посмотрел, возможно ли использовать mod_wsgi вместо mod_python. (Обычно так и есть). У mod_python есть несколько проблем, и он не поддерживается. Никто не заинтересован в этом больше. С другой стороны, mod_wsgi - это активно поддерживаемая и современная альтернатива. И есть бинарная загрузка для вас.
Да, это не прямой ответ на ваш вопрос, но я искренне считаю, что лучше взглянуть на mod_wsgi, чем возиться с mod_python, если это возможно.
Вытащил отсюда:
Загрузите исходный код apache для выбранной версии и разархивируйте его в "C:\Apache".
После установки python убедитесь, что он находится в вашем PATH
Ствол SVN будет включать в себя сценарий сборки Windows для mod_python, который собирает два продукта, сам mod_python и "PSP", что означает "Страницы Python Server". Сборка PSP для меня не удалась из-за "@ARCHFLAGS@". Мне не нужен PSP, поэтому я отключил его в скрипте сборки.
В mod_python\dist\setup.py.in отредактируйте строку 171 с: ext_modules = [ModPyModule, PSPModule] на: ext_modules = [ModPyModule]#, PSPModule]
составление
Откройте командную строку с поддержкой VS2008. Самый простой способ сделать это - использовать "Пуск | Все программы | Microsoft Visual Studio 2008 | Инструменты Visual Studio | Командная строка Visual Studio 2008". (Это помещает двоичные файлы VS2008 в путь и устанавливает переменные среды lib/include для Platform SDK.)
Перейдите в папку mod_python \ dist.
Сообщите mod_python, где находится Apache: установите APACHESRC=C:\Apache
Запустите build_installer.bat.
Если это удастся, файл installer.exe будет создан в подпапке. Запустите, чтобы установить модуль.