Проблема с установкой pysqlcipher3Python

Программы на Python
Anonymous
Проблема с установкой pysqlcipher3

Сообщение Anonymous »

Итак, несмотря на то, что pip install pysqlcipher3 сработал, pysqlcipher3 был успешно установлен, но это не так.

Из моих исследований кажется, что это распространенная проблема среди пользователей Windows, пытающихся установить Sqlcipher.

Попытка № 1

Сначала я пытаюсь загрузить pysqlcipher3 с github, собрать и установить его вручную через cmd (используя python setup.py build и pythonseetup.py install).

При выполнении сборки python3 setup.py я получил некоторую ошибку (отсутствует несколько требований, отсутствие OPENSSL_CONF в переменной среды... и т. д.), но я исправляю большинство из них.

Однако в конечном итоге я застрял с этой ошибкой:

fatal error C1083: Cannot open include file: 'sqlcipher/sqlite3.h': No such file or directory.

Попытка №2

Я где-то читал (я думаю), что мне нужно установить SQLCipher перед установкой PySqlCipher3.

Проверив, я обнаружил, что Мне придется либо заплатить, чтобы получить готовый исполняемый файл, либо собрать его самостоятельно.

Поэтому я попытался собрать его самостоятельно, следуя этому руководству.
После установки всех требований и выполнения всех шагов я захожу в очередной тупик. На предпоследнем шаге (шаг номер 6) при выполнении nmake /f Makefile.msc я получил следующую ошибку:

fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory



Мой вопрос:
  • Я прочитал, что мне нужен libsqlcipher, и это может быть проблемой. Где его найти (предпочтительно ссылка на исполняемый файл).
  • Как мне решить проблему с первой попытки?
    < li>Как я могу решить проблему с помощью второй попытки?
Моя цель:< /strong> Должен быть установлен и работать pysqlcipher3.



РЕДАКТИРОВАТЬ 1 - решена Попытка № 2 только для возникла еще одна проблема


Похоже, мне не хватало некоторых функций и инструментов C++ в Visual Studio. Итак, с помощью установщика сообщества Visual Studio я загружаю и устанавливаю базовые компоненты C++, и это устранило ошибку.

Я получил еще одну ошибку, которую я исправил, скопировав OpenSSL-Win64\include< Папка /code> в C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include.

Однако теперь я застрял с этой ошибкой:

sqlite3.c(77701): warning C4389: '!=': signed/unsigned mismatch
lib.exe /NOLOGO /MACHINE:x64 /OUT:libsqlite3.lib sqlite3.lo
echo EXPORTS > sqlcipher.def
dumpbin /all libsqlite3.lib | tclsh .\tool\replace.tcl include "^\s+1 _?(sqlite3(?:session|changeset|changegroup|rebaser)?_[^@]*)(?:@\d+)?$" \1 | sort >> sqlcipher.def
link.exe /DEBUG /NOLOGO /MACHINE:x64 /DLL /DEF:sqlcipher.def /OUT:sqlcipher.dll sqlite3.lo sqlite3res.lo
Creating library sqlcipher.lib and object sqlcipher.exp
sqlite3.lo : error LNK2019: unresolved external symbol RAND_bytes referenced in function sqlcipher_openssl_random
sqlite3.lo : error LNK2019: unresolved external symbol RAND_add referenced in function sqlcipher_openssl_add_random
sqlite3.lo : error LNK2019: unresolved external symbol OBJ_nid2sn referenced in function sqlcipher_openssl_get_cipher
sqlite3.lo : error LNK2019: unresolved external symbol EVP_MD_size referenced in function sqlcipher_openssl_get_hmac_sz
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_nid referenced in function sqlcipher_openssl_get_cipher
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_block_size referenced in function sqlcipher_openssl_get_block_sz
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_key_length referenced in function sqlcipher_openssl_get_key_sz
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_iv_length referenced in function sqlcipher_openssl_get_iv_sz
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CipherInit_ex referenced in function sqlcipher_openssl_cipher
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CipherUpdate referenced in function sqlcipher_openssl_cipher
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CipherFinal_ex referenced in function sqlcipher_openssl_cipher
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_CTX_new referenced in function sqlcipher_openssl_cipher
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_CTX_free referenced in function sqlcipher_openssl_cipher
sqlite3.lo : error LNK2019: unresolved external symbol EVP_CIPHER_CTX_set_padding referenced in function sqlcipher_openssl_cipher
sqlite3.lo : error LNK2019: unresolved external symbol EVP_sha1 referenced in function sqlcipher_openssl_get_hmac_sz
sqlite3.lo : error LNK2019: unresolved external symbol EVP_sha256 referenced in function sqlcipher_openssl_get_hmac_sz
sqlite3.lo : error LNK2019: unresolved external symbol EVP_sha512 referenced in function sqlcipher_openssl_get_hmac_sz
sqlite3.lo : error LNK2019: unresolved external symbol EVP_get_cipherbyname referenced in function sqlcipher_openssl_activate
sqlite3.lo : error LNK2019: unresolved external symbol PKCS5_PBKDF2_HMAC referenced in function sqlcipher_openssl_kdf
sqlite3.lo : error LNK2019: unresolved external symbol HMAC_CTX_new referenced in function sqlcipher_openssl_hmac
sqlite3.lo : error LNK2019: unresolved external symbol HMAC_CTX_free referenced in function sqlcipher_openssl_hmac
sqlite3.lo : error LNK2019: unresolved external symbol HMAC_Init_ex referenced in function sqlcipher_openssl_hmac
sqlite3.lo : error LNK2019: unresolved external symbol HMAC_Update referenced in function sqlcipher_openssl_hmac
sqlite3.lo : error LNK2019: unresolved external symbol HMAC_Final referenced in function sqlcipher_openssl_hmac
sqlcipher.dll : fatal error LNK1120: 24 unresolved externals


Подробнее здесь: https://stackoverflow.com/questions/554 ... sqlcipher3

Вернуться в «Python»