尝试安装包 pycrypto 时遇到错误

问题描述 投票:0回答:1

我正在尝试安装基于github存储库的python库,https://github.com/Dvorhack/MiBand3例如

  • 蓝皮
  • pycrypto
  • 诅咒菜单
  • crc16

我使用 Parrot 操作系统,并通过 USB 连接到我的 Windows 笔记本电脑,并在该操作系统上安装 python 库。

我收到错误消息说无法安装包 pycrypto。我正在使用 Parrot OS 并通过 USB 连接到我的笔记本电脑。

请告知如何修复 python 错误。我真的需要安装 pycrypto。

我执行了以下命令。

  1. git克隆https://github.com/Dvorhack/MiBand3
  2. cd 小米手环3
  3. pip install -r 要求.txt

我收到错误消息,指出无法安装软件包 pycrypto。

我希望无需安装 pycryptodome 即可解决问题。

错误如下所示。

 └──╼ $.venv/project_name/bin/pip install -r requirements.txt Collecting bluepy Using cached bluepy-1.3.0.tar.gz (217 kB) Preparing metadata (setup.py) ... done Collecting pycrypto Using cached pycrypto-2.6.1.tar.gz (446 kB) Preparing metadata (setup.py) ... done Collecting curses-menu Using cached curses_menu-0.8.1-py3-none-any.whl (39 kB) Collecting crc16 Using cached crc16-0.1.1.zip (20 kB) Preparing metadata (setup.py) ... done Collecting Deprecated<2.0.0,>=1.2.13 Using cached Deprecated-1.2.14-py2.py3-none-any.whl (9.6 kB) Collecting wrapt<2,>=1.10 Using cached wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (80 kB) Installing collected packages: pycrypto, crc16, bluepy, wrapt, Deprecated, curses-menu DEPRECATION: pycrypto is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 Running setup.py install for pycrypto ... error error: subprocess-exited-with-error

× Running setup.py install for pycrypto did not run successfully. │ exit code: 1 ╰─> [73 lines of output] /home/user/MiBand3/.venv/project_name/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for __gmpz_init in -lgmp... yes checking for __gmpz_init in -lmpir... no checking whether mpz_powm is declared... yes checking whether mpz_powm_sec is declared... yes checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for inttypes.h... (cached) yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking wchar.h usability... yes checking wchar.h presence... yes checking for wchar.h... yes checking for inline... inline checking for int16_t... yes checking for int32_t... yes checking for int64_t... yes checking for int8_t... yes checking for size_t... yes checking for uint16_t... yes checking for uint32_t... yes checking for uint64_t... yes checking for uint8_t... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for memmove... yes checking for memset... yes configure: creating ./config.status config.status: creating src/config.h In file included from /usr/include/python3.11/Python.h:86, from src/_fastmath.c:31: /usr/include/python3.11/cpython/pytime.h:208:60: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration 208 | PyAPI_FUNC(int) _PyTime_FromTimespec(_PyTime_t *tp, struct timespec *ts); | ^~~~~~~~ /usr/include/python3.11/cpython/pytime.h:213:56: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration 213 | PyAPI_FUNC(int) _PyTime_AsTimespec(_PyTime_t t, struct timespec *ts); | ^~~~~~~~ /usr/include/python3.11/cpython/pytime.h:217:63: warning: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration 217 | PyAPI_FUNC(void) _PyTime_AsTimespec_clamp(_PyTime_t t, struct timespec ts); | ^~~~~~~~ src/_fastmath.c:33:10: fatal error: longintrepr.h: No such file or directory 33 | #include <longintrepr.h> / for conversions */ | ^~~~~~~~~~~~~~~ compilation terminated. error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1 [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> pycrypto

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. 

python python-3.x pip kali-linux parrot-os
1个回答
0
投票

PyCrypto 2.x 无人维护、过时且包含安全漏洞。

pycripto 项目已被弃用并且不再维护,并且 github 存储库也很旧。我看到你有 python 3.11,预计会发生,我有 python 3.8 并且遇到了同样的问题。安装 Cryptography 3.0 解决了我的问题。

按照 Pycripto 官方网站上的建议,尝试使用 PyCryptodomeCryptography 作为替代方案。

© www.soinside.com 2019 - 2024. All rights reserved.