Как решить проблему Нет имени модуля Ботан

Я использую Windows 8 и Python 3.6.1. Я выполнил следующую команду в своем cmd:

pip установить криптомагазин

Однако, когда я запускаю следующий код Python:

from cryptoshop import encryptfile
from cryptoshop import decryptfile

result1 = encryptfile(filename="test", passphrase="mypassphrase", algo="srp")
print(result1)

result2 = decryptfile(filename="test.cryptoshop", passphrase="mypassphrase")
print(result2)

Я получаю следующую ошибку:

Трассировка (последний последний вызов): файл «C:/Users/Owner/Desktop/test.py», строка 1, из файла cryptoshop import encryptfile «C:\Users\Owner\AppData\Local\Programs\Python\Python36». -32\lib\site-packages\cryptoshop__init__.py", строка 26, in from cryptoshop.cryptoshop import encryptfile File "C:\Users\Owner\AppData\Local\Programs\Python\Python36-32\lib\site-packages \cryptoshop\cryptoshop.py", строка 56, из ._cascade_engine import encry_decry_cascade File "C:\Users\Owner\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cryptoshop_cascade_engine.py", строка 27, из ._nonce_engine import generate_nonce_timestamp File "C:\Users\Owner\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cryptoshop_nonce_engine.py", строка 39, в import botan ModuleNotFoundError: No module по имени ботан

Теперь я, очевидно, знаю, что вы должны установить botan в python, чтобы использовать его. Однако здесь я столкнулся с проблемой. Я скачал Botan по этой ссылке в соответствии с инструкциями:

https://github.com/randombit/botan

И затем я следовал этим инструкциям, пытаясь установить Botan:

./configure.py [--prefix=/some/directory]
make
make install

Однако, когда я набираю make в командной строке, я получаю сообщение об ошибке, говорящее, что такой команды нет. И затем, когда я запускаю приведенный выше код Python, я все равно получаю ошибку Botan без модуля. Так что, очевидно, я что-то делаю. Как мне правильно установить Botan в мои каталоги Python 3.6, чтобы я мог использовать криптомагазин.

Я также попытался выполнить pip install Botan, так как я установил так много других библиотек Python, но это также не увенчалось успехом.


person tgrim90    schedule 03.10.2017    source источник


Ответы (2)


make — это команда Linux.

Согласно веб-сайту botan, вы можете использовать nmake в качестве замены в Windows ( http://wiki.c2.com/?UsingNmake ):

В Windows

У вас должна быть установлена ​​копия Python, а также Python и выбранный вами компилятор. Откройте командную оболочку (или оболочку SDK) и запустите:

  $ python configure.py --cc=msvc (or --cc=gcc for MinGW) [--cpu=CPU] 
  $ nmake 
  $ botan-test.exe 
  $ nmake install

Botan поддерживает замену nmake Jom, которая позволяет запускать несколько заданий сборки параллельно.

источник: https://botan.randombit.net/manual/building.html

person ralf htp    schedule 03.10.2017
comment
когда я запускаю именно эти команды, я все равно получаю, что nmake не распознан. Я выполнил следующее в месте установки моего ботана. python configure.py --cc=msvc [--cpu=CPU] затем запустил nmake и получил ошибку - person tgrim90; 03.10.2017
comment
Вы забыли упомянуть, что nmake требует установки Visual C++ для работы на компьютере с Windows. @ tgrim90 убедитесь, что на вашем компьютере с Windows установлен Visual C++. - person aspo; 03.10.2017
comment
@deaspo есть ли простой способ сделать это? - person tgrim90; 04.10.2017
comment
@ tgrim90 вы можете просто установить SDK, распространяемый пакет Microsoft Visual C++ для Visual Studio 2017, без необходимости установки всей Visual Studio. Он содержит все необходимые компоненты. Другой вариант — запустить код в Ubuntu. - person aspo; 04.10.2017
comment
@deaspo хорошо, так что я сделал это, я скачал это: Распространяемый пакет Microsoft Visual C++ для Visual Studio 2017. А затем установил его и попытался запустить приведенный выше код в командной строке, и все равно получить nmake не распознается - person tgrim90; 04.10.2017
comment
Вы запускаете команду в командной оболочке, которая была упакована с SDK, или просто в общей командной строке Windows? - person aspo; 04.10.2017
comment
@deaspo Я также получаю сообщение об ошибке [--cpu=CPU], я тоже делаю что-то не так? - person tgrim90; 04.10.2017
comment
просто командная строка Windows, я не могу найти оболочку, упакованную с SDK или install. где обычно устанавливается Visual C++? - person tgrim90; 04.10.2017
comment
В стартовом меню после перезагрузки машины должно быть visual c++ 20XX XX-bit command prompt - person aspo; 04.10.2017
comment
Изменить свой пост? - person LW001; 04.10.2017
comment
@deaspo, где мне найти оболочку, упакованную с SDK для Windows 8. - person tgrim90; 04.10.2017
comment
Поиск в начале для Visual C++ ...... Один из вариантов должен быть Visual C++ 20XX XX-bit Command Prompt. Это если вы его уже установили - person aspo; 04.10.2017
comment
@deaspo Я уже установил его, он отображается в моих программах и функциях на моей панели управления, однако он не отображается, когда я его ищу - person tgrim90; 04.10.2017
comment
@deaspo мне скачать на 2015 или 2017 год? - person tgrim90; 04.10.2017
comment
@ tgrim90 извините за предыдущую ссылку - person aspo; 04.10.2017
comment
Подойдет любой, вы просто хотите использовать инструмент nmake, который встроен в оба - person aspo; 04.10.2017
comment
@deaspo, а что именно мне следует загружать, я предполагаю, что инструменты повышения производительности включают автономную командную строку? но я не уверен - person tgrim90; 04.10.2017
comment
@deaspo извините, но он не позволяет мне загружать только те инструменты, которые, кажется, заставляет меня загружать, а также - person tgrim90; 04.10.2017
comment
@deaspo неважно, теперь, после 25 попыток, он позволил мне скачать его. - person tgrim90; 04.10.2017
comment
@deaspo загрузил Performance Tools для Visual Studio, выполнил установку, перезагрузил машину, выполнил поиск Visual C++ и все еще не появляется. есть ли на моей машине папка, в которой я мог бы найти командную строку? - person tgrim90; 04.10.2017

Для полноты картины вот как я заставил его работать на Mac.

Предполагая, что у вас установлено brew.

brew install botan

Возможно, вам потребуется сначала установить другие функции:

brew install gmp
brew install mpfr
brew install mpc

Узнайте, где был установлен botan с помощью brew info botan. Мое местоположение /usr/local/Cellar/botan/2.6.0

В этой папке вы найдете lib/python2.7/site-packages, скопируйте содержимое этой папки в папку установки Python site-packages.

Примечание 1: На момент написания этой статьи поддерживается только Python 2.7, но я использую Python 3.6, и все работает.

Примечание 2. Если файл называется botan2.py, вам может потребоваться переименовать его в botan.py в папке site-packages вашего Python.

person Joao Coelho    schedule 20.06.2018