Как скомпилировать Python APSW с локальной сборкой ОС SQLite

Я разрабатываю приложение и хотел бы скомпилировать SQLite с некоторыми персонализированными флагами и использовать эту сборку SQLite с APSW! Чтобы быть более конкретным, я хотел бы использовать параметры в разделе «Рекомендуемые параметры времени компиляции» документации по параметрам времени компиляции SQLite (https://www.sqlite.org/compile.html).

Я использую версию 3.39.4.0 APSW и версию 3.39.4 SQLite в Ubuntu.

1) Первая попытка:

Я попытался использовать объединение с флагом --definevalues ​​в build_ext, передав мои параметры в CFLAGS, но мои параметры, похоже, не применяются.

Командная строка, которую я использовал, была:

      python3 setup.py fetch --sqlite --version=3.39.4 build_ext --definevalues CFLAGS="Recommended Compile-time Options Here" install

2) Вторая попытка:

В документах APSW я заметил, что при сборке APSW без объединения setup.py будет искать заголовок sqlite3/sqlite3.h и библиотеку sqlite3/libsqlite3.so. Затем я попытался сгенерировать общий объект libsqlite3.so и скопировать sqlite3.h и libsqlite3.so в подкаталог sqlite3 в корне apsw. Это команды, которые я использовал для создания общего объекта libsqlite3.so.

      gcc -lpthread -ldl -lm -c -fPIC sqlite3.c -o sqlite3.o
gcc sqlite3.o -shared -o libsqlite3.so

Для сборки и установки APSW я использовал команду

      python3 setup.py build install

Установка прошла успешно, но когда я выполняю

      python3 -m apsw.tests

чтобы проверить установку, я получил ошибку

      ImportError: cannot open shared object file: No such file or directory

Мне нужна помощь в сборке APSW с локальной сборкой SQLite. Знаете ли вы простой способ сделать это или что я делаю неправильно в своих попытках?

0 ответов

Другие вопросы по тегам