Ошибка "ModuleNotFoundError: нет модуля с именем" pysqlcipher3 "" при использовании Python 3.7 в Windows 10

Я пытаюсь расшифровать один файл базы данных с помощью Python 3.7. Таким образом, чтобы расшифровать его, я должен использовать версию pysqlcipher3 для Python 3.7. Чтобы установить его, я попытался с помощью обеих команд:

pip3 install pysqlcipher3

а также

pip install pysqlcipher3

и обе команды показали успешную установку пакета pysqlcipher. Но теперь проблема в том, когда я пытаюсь импортировать pysqlcipher3 в моем проекте на Python, используя эту строку:

from pysqlcipher3 import dbapi2 as sqlite

это показывает мне эту ошибку:

ModuleNotFoundError: No module named 'pysqlcipher3

Я проверил различные проекты GitHub, но ни один из них не дает четкого рабочего решения. На веб-сайте пакетов python говорится об установке libsqlcipher в вашей ОС, но на этот раз проблема та же, нет документации и ссылок, касающихся установки libsqlcipher для windows 10. Так что кто-нибудь, пожалуйста, может предоставить мне правильные шаги установки или любой документ или любое видео учебник по поводу того же или есть ли проблемы с оператором импорта?

9 ответов

Обычно я не публикую ответы, но это сработало для меня в Ubuntu:

      $ git clone https://github.com/coleifer/sqlcipher3
$ cd sqlcipher3
$ python setup.py build  # Build against the system libsqlcipher
$ sudo python setup.py install

$ cd ..

затем введите приглашение python и попробуйте:

       from sqlcipher3 import dbapi2 as sqlcipher

Вам необходимо установить библиотеку libsqlcipher-devиз вашего менеджера репозитория, например:

sudo apt install libsqlcipher-dev

Будет полезно, если вы сможете вставить изображение всей ошибки.

В частности, я обнаружил, что dbapi2 очень печально известен отсутствием dll. Значит, у вас может быть та же причина.

Проверьте, есть ли у вас несколько установок pip, используя
where pip

Также проверьте интерпретатор, который используется в вашем проекте. Убедитесь, что он соответствует интерпретатору python, соответствующему установке pip, в которой был установлен модуль.

иди к кассе, откуда твой пип, используя pip -V, он выводит вам путь через точку.

Проверьте, находится ли этот путь в venvты хочешь. В противном случае пакет был установлен по неверному пути.

Возможно, вам придется установить libsqlcipher из источника.

С https://github.com/sqlcipher/sqlcipher

Использование MSVC

В Windows все применимые продукты сборки можно скомпилировать с помощью MSVC. Сначала откройте окно командной строки, связанное с нужной версией компилятора (например, «Командная строка разработчика для VS2013»). Затем используйте NMAKE с предоставленным файлом Makefile.msc для создания одной из поддерживаемых целей.

Например:

       mkdir bld
cd bld
nmake /f Makefile.msc TOP=..\sqlite
nmake /f Makefile.msc sqlite3.c TOP=..\sqlite
nmake /f Makefile.msc sqlite3.dll TOP=..\sqlite
nmake /f Makefile.msc sqlite3.exe TOP=..\sqlite
nmake /f Makefile.msc test TOP=..\sqlite

Есть несколько параметров сборки, которые можно установить через командную строку NMAKE. Например, чтобы построить для WinRT, просто добавьте аргумент «FOR_WINRT=1» в командную строку «sqlite3.dll» выше. При отладке кода SQLite рекомендуется добавить аргумент «DEBUG=1» в одну из приведенных выше командных строк.

SQLite не требует запуска Tcl, но установка Tcl требуется для make-файлов (в том числе для MSVC). SQLite содержит много сгенерированного кода, и Tcl используется для создания большей части этого кода.

Проверьте, установлено ли в вашей операционной системе несколько версий Python. Также, если вы используете виртуальную среду, вы должны активировать ее перед установкой каких-либо пакетов.

Похоже, что-то с операционной системой, так как я использую Ubuntu и Windows 10 на одной машине, и это не работает с Ubuntu, но работает на Win 10

Вам нужно будет установить sqlcipher и библиотеку python pysqlcipher3 примерно так:

      brew install sqlcipher
pip3 install pysqlcipher3 --user
Другие вопросы по тегам