Как построить SQL Cipher Python Binding для Windows

У меня проблемы с созданием привязки Python для шифра SQL на моей машине с Windows. Я уже успешно построил привязку Python для Macintosh. Я хотел бы использовать мой скрипт на Python для Mac и ПК.

Я новичок в Python и не до конца понимаю, почему он не работает, но я начал пытаться отлаживать setup.py скрипт и обнаружил ошибку в build_extension(self, ext) метод в строке 147.

Шаги, которые я предпринял, чтобы построить:

  1. https://github.com/rigglemania/pysqlcipher3
  2. https://github.com/sqlcipher/sqlcipher
  3. http://www.jerryrw.com/howtocompile.php

Я клонировал репозитории выше и следовал инструкциям Джерри о том, как собрать sqlcipher. Я взял файлы sqlite3.c и sqlite3.h и поместил их в папку слияния, а затем попытался создать слияние. Я получил ошибку ниже. Я попытался просто построить, и это не удалось с той же ошибкой.

Ошибка:

running build_amalgamation
Builds a C extension using a sqlcipher amalgamation
building 'pysqlcipher3._sqlite3' extension
['path']

Вопросы:

  1. Можно ли как-нибудь собрать sqlcipher на своем Mac и использовать его для ПК? (перенести файлы с MAC на ПК)?
  2. Может кто-нибудь помочь мне построить привязку sqlcipher3 python для ПК?

Я новичок в Python, и любая помощь будет оценена.

1 ответ

Решение

Смотрите https://github.com/rigglemania/pysqlcipher3

1) Установите бесплатную VS 2015 Community Edition

Примечание. Убедитесь, что выбраны все параметры GCC (VC++, C++ и т. Д.). Если вы не уверены, выберите все варианты.

2) Установлен предварительно скомпилированный бинарный файл OpenSSL (Win32 OpenSSL v1.0.2d или новее) с https: // slproweb.com/products/Win32OpenSSL.html

3) Убедитесь, что переменная среды OPENSSL_CONF правильно установлена ​​в переменных среды. См. Http:// www.computerhope.com/issues/ch000549.htm

Примечание. Это не должен быть корневой путь openssl (например, C:/openssl-Win32), а путь к файлу конфигурации (например, C:/openssl-Win32/bin/openssl.cfg).

4) Скопируйте папку openssl в каталог (C:/OpenSSL-Win32/include/openssl) в каталог включения VC (например: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include)

Примечание. Убедитесь, что существует следующий путь (../../VC/include/openssl/aes.h).

5) Установите Python 3.5 (32 бит).

Примечание. Если у вас установлен Python 64-битный, вам, возможно, придется удалить его перед установкой Python 32-битной.

6) Используйте объединения SQL Cipher 3 или вы можете скомпилировать последнее объединение SQL Cipher, следуя этому руководству http://www.jerryrw.com/howtocompile.php.

7) Нажмите Пуск, Выполнить, cmd. В приглашении CMD перейдите в папку, в которой вы извлекли этот репозиторий. Запустите "python setup.py build_amalgamation"

8) Запустите "python setup.py install". Протестируйте новую библиотеку, пытаясь расшифровать базу данных.

Примечание. Если расшифровка не удалась, убедитесь, что у вас есть правильные файлы слияния.

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