Сборка wxPython из исходников
Одно из двух: либо документация (в части сборки под виндавс) с http://wxpython.org/builddoc.php безнадежно устарела, либо я - чайник. Если вы собрали wxPython под винду по вышеуказанным докам - вы кулХаЦкер. У меня не получилось. Поэтому предлагаю свой вариант.
Компиляция wxWidgets
Распаковываем исходники (wxPython-src-2.8.8.1.tar.bz2, например, в C:\Temp\wxPython-src-2.8.8.1
Настоятельно НЕ РЕКОМЕНДУЮ использовать версии из CVS, лучше использовать последнюю стабильную версию.
Далее необходимо найти файл C:\Temp\wxPython-src-2.8.8.1\include\wx\msw\setup0.h, в нем установить следующие значения переменных:
wxUSE_DEBUGREPORT 0 wxUSE_EXCEPTIONS 0 wxUSE_DIALUP_MANAGER 0 wxUSE_GRAPHICS_CONTEXT 1 wxUSE_GLCANVAS 1 wxUSE_POSTSCRIPT 1 wxUSE_DIB_FOR_BITMAP 1 wxUSE_UNICODE 1 wxUSE_UNICODE_MSLU 1 wxUSE_MEMORY_TRACING 1 wxUSE_DEBUG_CONTEXT 1 wxDIALOG_UNIT_COMPATIBILITY 0 wxUSE_AFM_FOR_POSTSCRIPT 0 wxUSE_DISPLAY 1 wxUSE_DATEPICKCTRL_GENERIC 1
Измененный файл setup0.h скопировать в файлы:
- C:\Temp\wxPython-src-2.8.8.1\include\wx\msw\setup.h
- C:\Temp\wxPython-src-2.8.8.1\include\wx\setup.h
В переменную среды WXWIN нужно установить путь к разархивированным исходникам, в нашем случае C:\Temp\wxPython-src-2.8.8.1
В консоли MS Visual Studio 2003 выполнить следующие команды:
cd C:\Temp\wxPython-src-2.8.8.1\build\msw nmake -f makefile.vc OFFICIAL_BUILD=1 SHARED=1 MONOLITHIC=0 USE_OPENGL=1 USE_GDIPLUS=1 UNICODE=1 MSLU=1 DEBUG_FLAG=1 CXXFLAGS=/D__NO_VC_CRTDBG__ WXDEBUGFLAG=h BUILD=release cd ..\..\contrib\build\stc nmake -f makefile.vc OFFICIAL_BUILD=1 SHARED=1 MONOLITHIC=0 USE_OPENGL=1 USE_GDIPLUS=1 UNICODE=1 MSLU=1 DEBUG_FLAG=1 CXXFLAGS=/D__NO_VC_CRTDBG__ WXDEBUGFLAG=h BUILD=release cd ..\gizmos nmake -f makefile.vc OFFICIAL_BUILD=1 SHARED=1 MONOLITHIC=0 USE_OPENGL=1 USE_GDIPLUS=1 UNICODE=1 MSLU=1 DEBUG_FLAG=1 CXXFLAGS=/D__NO_VC_CRTDBG__ WXDEBUGFLAG=h BUILD=release
Сборка wxPython
Для сборки потребуется SWIG, скачать его можно здесь: SWIG-1.3.29-wx.tar.gz. Установим SWIG, например, в C:\programs\SWIG-1.3.29
В консоли MS Visual Studio 2003 нужно перейти в папку wxPython (C:\Temp\wxPython-src-2.8.8.1\wxPython) и запустить скрипт сборки командой:
python setup.py build_ext --inplace MONOLITHIC=0 USE_SWIG=1 SWIG=c:\\programs\\SWIG-1.3.29\\swig.exe UNICODE=1
Генерация документации
Для генерации документации необходимо установить следующие проги: tex2rtf и HTML Help Workshop and Documentation (файл htmlhelp.exe),
После установки необходимо добавить установочные пути этих программ в переменную Path.
Переходим в папку C:\Temp\wxPython-src-2.8.8.1\wxPython\distrib, в файле makedocs.bat удаляем в 19-й строке полный путь к файлу HTML Help Workshop'а, оставляем только название файла, строка примет вид:
hhc.exe wx.hhpЗапускаем этот файл (makedocs.bat).
Сборка дистрибутивов
Для выполнения следующих команд нужно установить Cygwin и прописать в переменную Path путь к файлу bash.exe (например, я поставил Cygwin в C:\Devel\cygwin, поэтому искомый путь к файлу bash.exe - C:\Devel\cygwin\bin).
В файле b.bat третью строку приводим к виду:
call bash.exe -c "./b.win32 %*"
В файл b.win32 вносим следующие изменения:
- заменяем путь к Свигу на наш, строка 5 примет вид:
SWIGDIR=c:\\programs\\SWIG-1.3.29
- заменяем путь к интерпретатору питона, строка 20 примет вид:
PYTHON=c:/Python25/python.exe
Изменяем файл C:\Temp\wxPython-src-2.8.8.1\wxPython\distrib\make_installer.py следующим образом:
- измениете строку 28:
ISCC = r"ISCC.exe %s" # Заменяем абсолютный путь Инно Сетапа на относительный
- добавьте следующую строку перед return'ом (строка 714):
... WXDLLVER, PYTHONVER = '28uh', '2.5' # Версии wxPython и питона return WXDLLVER, PYTHONVER
- измените строку 777:
PYVER = "py25" # Версия питона
- измените строки 820 - 825 следующим образом:
#TOOLS = os.environ['TOOLS'] #if TOOLS.startswith('/cygdrive'): # TOOLS = r"c:\TOOLS" # temporary hack until I convert everything over to bash os.system(ISCC % (ISSFILE)) os.system(ISCC % (ISSDEMOFILE))
В командной строке виндавс, в папке C:\Temp\wxPython-src-2.8.8.1\wxPython выполняем команду:
b 25 a
... и в папке C:\Temp\wxPython-src-2.8.8.1\wxPython\dist находим искомые дистрибутивы: wxPython2.8-win32-docs-demos-2.8.8.1.exe и wxPython2.8-win32-unicode-2.8.8.1-py25.exe