Создание и объединение библиотек на win32 - сложная задача:)
Мои предположения:
- python27 (у меня есть ActiveState python, но с python.org все должно быть в порядке) в c: \ python27
- visual studio 2010 professional (думаю, экспресс тоже должен работать)
Загрузите bdb и pysqlite (на этот раз у меня 2.6.3) и поместите его в c:\bdb
,
распакуйте bdb, чтобы вы получили
C:\bdb\db-5.2.36
войти в C:\bdb\db-5.2.36\build_windows
выбрать Berkeley_DB_vs2010.sln
,
выберите Static Release
в качестве конфигурации и выполните сборку
вам нужно иметь libdb52s.lib
и libdb_sql52s.lib
в
C:\bdb\db-5.2.36\build_windows\Win32\Static Release
теперь распакуйте pysqlite в c:\bdb
, зайдите в C:\bdb\pysqlite-2.6.3
и
отредактируйте setup.cfg
следующим образом:
[build_ext]
include_dirs=C:\bdb\db-5.2.36\lang\sql\generated
library_dirs=C:\bdb\db-5.2.36\build_windows\Win32\Static Release
define=SQLITE_OMIT_LOAD_EXTENSION
обязательно удалите библиотеки = мне пришлось добавить их в setup.py,
из-за статической ссылки нам нужно указать более одной библиотеки,
если кто-то знает способ указать список в setup.cfg, скажите, пожалуйста:)
теперь откройте setup.py
, перейдите в строку 191 и замените:
libraries=libraries
с:
libraries=['libdb_sql52s', 'libdb52s', 'ws2_32', 'advapi32'],
открыть командную строку vs2010 (в меню инструментов Visual Studio)
войти c:\bdb\pysqlite
set DISTUTILS_USE_SDK=1
set MSSdk=1
python setup.py build
# ignore errors about manifests, just make sure _sqlite.pyd is built
# make same tests of the linux instructions
python setup.py bdist_wininst
will make the .exe installer in dist subdir