简体   繁体   English

如何在 Windows 10 上为 python3 安装 Charm-crypto 库?

[英]How to install Charm-crypto library for python3 on windows 10?

I've installed GMP 5.x , PBC (latest) and OPENSSL but when I try `pip3 install charm-crypto this error occurs.我已经安装了 GMP 5.x、PBC(最新)和 OPENSSL,但是当我尝试 `pip3 install char-crypto 时会发生这个错误。 If anyone knows how to solve this error because I don't understand it please tell me?如果有人知道如何解决这个错误,因为我不明白,请告诉我? By the way the error is much longer than this but I couldn't paste it, It is mostly repeating the process of copying顺便说一句错误比这长得多但我无法粘贴它,它主要是重复复制过程

(venv) C:\Users\admin\PycharmProjects\Testing>pip3 install charm-crypto
Collecting charm-crypto
  Using cached Charm-Crypto-0.43.tar.gz (364 kB)
Requirement already satisfied: setuptools in c:\users\admin\pycharmprojects\testing\venv\lib\site-packages (from charm-crypto) (50.3.2)
Requirement already satisfied: pyparsing>=1.5.5 in c:\users\admin\pycharmprojects\testing\venv\lib\site-packages (from charm-crypto) (2.4.7)
Using legacy 'setup.py install' for charm-crypto, since package 'wheel' is not installed.
Installing collected packages: charm-crypto
    Running setup.py install for charm-crypto ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\admin\pycharmprojects\testing\venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\admin\\AppData\
\Local\\Temp\\pip-install-83yi7s_w\\charm-crypto\\setup.py'"'"'; __file__='"'"'C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-83yi7s_w\\charm-crypto\\setup.py'"
'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))'
install --record 'C:\Users\admin\AppData\Local\Temp\pip-record-vq3a6qkl\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users
\admin\pycharmprojects\testing\venv\include\site\python3.9\charm-crypto'
         cwd: C:\Users\admin\AppData\Local\Temp\pip-install-83yi7s_w\charm-crypto\
    Complete output (194 lines):
    Platform: Windows
    Config file: config.mk
    Warning, using default config vaules.
    You probably want to run ./configure.sh first.
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.9
    creating build\lib.win-amd64-3.9\charm
    copying charm\config.py -> build\lib.win-amd64-3.9\charm
    copying charm\__init__.py -> build\lib.win-amd64-3.9\charm
    creating build\lib.win-amd64-3.9\charm\core
    copying charm\core\__init__.py -> build\lib.win-amd64-3.9\charm\core
    creating build\lib.win-amd64-3.9\charm\core\crypto
    copying charm\core\crypto\__init__.py -> build\lib.win-amd64-3.9\charm\core\crypto
    copying charm\adapters\abenc_adapt_hybrid.py -> build\lib.win-amd64-3.9\charm\adapters
    copying charm\adapters\dabenc_adapt_hybrid.py -> build\lib.win-amd64-3.9\charm\adapters
    copying charm\adapters\ibenc_adapt_hybrid.py -> build\lib.win-amd64-3.9\charm\adapters
    copying charm\adapters\ibenc_adapt_identityhash.py -> build\lib.win-amd64-3.9\charm\adapters
    copying charm\adapters\kpabenc_adapt_hybrid.py -> build\lib.win-amd64-3.9\charm\adapters
    copying charm\adapters\pkenc_adapt_bchk05.py -> build\lib.win-amd64-3.9\charm\adapters
    copying charm\adapters\pkenc_adapt_chk04.py -> build\lib.win-amd64-3.9\charm\adapters
    copying charm\adapters\pkenc_adapt_hybrid.py -> build\lib.win-amd64-3.9\charm\adapters
    copying charm\adapters\pksig_adapt_naor01.py -> build\lib.win-amd64-3.9\charm\adapters
    copying charm\adapters\__init__.py -> build\lib.win-amd64-3.9\charm\adapters
    running build_ext
    building 'charm.core.math.pairing' extension
    creating build\temp.win-amd64-3.9
    creating build\temp.win-amd64-3.9\Release
    creating build\temp.win-amd64-3.9\Release\charm
    creating build\temp.win-amd64-3.9\Release\charm\core
    creating build\temp.win-amd64-3.9\Release\charm\core\benchmark
    creating build\temp.win-amd64-3.9\Release\charm\core\math
    creating build\temp.win-amd64-3.9\Release\charm\core\math\pairing
    creating build\temp.win-amd64-3.9\Release\charm\core\utilities
    C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DBENCHMARK_E
NABLED=1 -Icharm/core/utilities/ -Icharm/core/benchmark/ -Ic:\users\admin\pycharmprojects\testing\venv\include -IC:\Users\admin\AppData\Local\Programs\Python\Python3
9\include -IC:\Users\admin\AppData\Local\Programs\Python\Python39\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\
ATLMFC\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\include -IC:\Program Files (x86)\Windows Kits\10\include\10
.0.18362.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um -IC:\Program Fi
les (x86)\Windows Kits\10\include\10.0.18362.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt /Tccharm/core/benchmark/benchmarkmodule.c
 /Fobuild\temp.win-amd64-3.9\Release\charm/core/benchmark/benchmarkmodule.obj
    benchmarkmodule.c
    C:\Users\admin\AppData\Local\Temp\pip-install-83yi7s_w\charm-crypto\charm\core\benchmark\benchmarkmodule.h(12): fatal error C1083: Impossible d'ouvrir le fichier
 includeÿ: 'sys/time.h'ÿ: No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX86\\x64\\cl.exe' failed with exit cod
e 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\admin\pycharmprojects\testing\venv\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0]
= '"'"'C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-83yi7s_w\\charm-crypto\\setup.py'"'"'; __file__='"'"'C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-8
3yi7s_w\\charm-crypto\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(c
ode, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\admin\AppData\Local\Temp\pip-record-vq3a6qkl\install-record.txt' --single-version-externally-managed --co
mpile --install-headers 'c:\users\admin\pycharmprojects\testing\venv\include\site\python3.9\charm-crypto' Check the logs for full command output.

The problem is there is file with code which is not compatible with MSVC.问题是存在与 MSVC 不兼容的代码文件。 sys/time.h is included in benchmarkmodule.h and unfortunately this file does not exit in MSVC. sys/time.h 包含在 benchmarkmodule.h 中,不幸的是该文件在 MSVC 中没有退出。

Try to install mingw, set the CC to mingw compiler and run the pip3 command .尝试安装 mingw,将 CC 设置为 mingw 编译器并运行 pip3 命令。 If it still not working you can try to build it directly like explained in https://jhuisi.github.io/charm/install_source.html .如果它仍然不起作用,您可以尝试像https://jhuisi.github.io/charm/install_source.html 中解释的那样直接构建它。

In all cases you will need a mingw compiler.在所有情况下,您都需要一个 mingw 编译器。 However, it may be complicated.然而,它可能很复杂。
You will need to install the msvc redistributable.您将需要安装 msvc 可再发行组件。 When you run the make command, f you face the error Unknown MS Compiler version 1927 .当您运行 make 命令时,如果您遇到错误Unknown MS Compiler version 1927 modify the cygwinccompiler.py file by adding :通过添加以下内容来修改cygwinccompiler.py文件:

#custom add
elif msc_ver == '1927':
    # VS2019 / MSVC 16.7
    return ['msvcr100'] 
#custom add

before the last add.在最后添加之前。 You may also need to add a file distutils.cfg like explained in https://wiki.python.org/moin/WindowsCompilers .您可能还需要添加一个文件distutils.cfghttps://wiki.python.org/moin/WindowsCompilers 中所述 Once these modifications done, the compilation should start normally.一旦这些修改完成,编译应该正常开始。

Perhaps the easiest would be to compile it under linux.也许最简单的方法是在 linux 下编译它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM