繁体   English   中英

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

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

我已经安装了 GMP 5.x、PBC(最新)和 OPENSSL,但是当我尝试 `pip3 install char-crypto 时会发生这个错误。 如果有人知道如何解决这个错误,因为我不明白,请告诉我? 顺便说一句错误比这长得多但我无法粘贴它,它主要是重复复制过程

(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.

问题是存在与 MSVC 不兼容的代码文件。 sys/time.h 包含在 benchmarkmodule.h 中,不幸的是该文件在 MSVC 中没有退出。

尝试安装 mingw,将 CC 设置为 mingw 编译器并运行 pip3 命令。 如果它仍然不起作用,您可以尝试像https://jhuisi.github.io/charm/install_source.html 中解释的那样直接构建它。

在所有情况下,您都需要一个 mingw 编译器。 然而,它可能很复杂。
您将需要安装 msvc 可再发行组件。 当您运行 make 命令时,如果您遇到错误Unknown MS Compiler version 1927 通过添加以下内容来修改cygwinccompiler.py文件:

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

在最后添加之前。 您可能还需要添加一个文件distutils.cfghttps://wiki.python.org/moin/WindowsCompilers 中所述 一旦这些修改完成,编译应该正常开始。

也许最简单的方法是在 linux 下编译它。

暂无
暂无

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

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