mac安装gmpy2坑

最近写RSA算法,用到了大数解密的相关东西,pip3 install gmpy2总是失败,报一下错误

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple/
Collecting gmpy2
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/90/f4/9a2e384b325b69bc5827b9a6510a8fb4a51698c915c06a3f25a86458892a/gmpy2-2.0.8.zip (280kB)
     |████████████████████████████████| 286kB 198kB/s 
Building wheels for collected packages: gmpy2
  Building wheel for gmpy2 (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-install-9ff7ez5p/gmpy2/setup.py'"'"'; __file__='"'"'/private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-install-9ff7ez5p/gmpy2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-wheel-wiyx95d2 --python-tag cp37
       cwd: /private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-install-9ff7ez5p/gmpy2/
  Complete output (14 lines):
  running bdist_wheel
  running build
  running build_ext
  building 'gmpy2' extension
  creating build
  creating build/temp.macosx-10.9-x86_64-3.7
  creating build/temp.macosx-10.9-x86_64-3.7/src
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DWITHMPFR -DWITHMPC -I/Library/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c src/gmpy2.c -o build/temp.macosx-10.9-x86_64-3.7/src/gmpy2.o
  In file included from src/gmpy2.c:426:
  src/gmpy.h:106:12: fatal error: 'gmp.h' file not found
  #  include "gmp.h"
             ^~~~~~~
  1 error generated.
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for gmpy2
  Running setup.py clean for gmpy2
Failed to build gmpy2
Installing collected packages: gmpy2
    Running setup.py install for gmpy2 ... error
    ERROR: Command errored out with exit status 1:
     command: /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-install-9ff7ez5p/gmpy2/setup.py'"'"'; __file__='"'"'/private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-install-9ff7ez5p/gmpy2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-record-utsnqrhv/install-record.txt --single-version-externally-managed --compile
         cwd: /private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-install-9ff7ez5p/gmpy2/
    Complete output (14 lines):
    running install
    running build
    running build_ext
    building 'gmpy2' extension
    creating build
    creating build/temp.macosx-10.9-x86_64-3.7
    creating build/temp.macosx-10.9-x86_64-3.7/src
    gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -DWITHMPFR -DWITHMPC -I/Library/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c src/gmpy2.c -o build/temp.macosx-10.9-x86_64-3.7/src/gmpy2.o
    In file included from src/gmpy2.c:426:
    src/gmpy.h:106:12: fatal error: 'gmp.h' file not found
    #  include "gmp.h"
               ^~~~~~~
    1 error generated.
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-install-9ff7ez5p/gmpy2/setup.py'"'"'; __file__='"'"'/private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-install-9ff7ez5p/gmpy2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/z4/7tfczdsn6dxghdsxrcf6xyq40000gn/T/pip-record-utsnqrhv/install-record.txt --single-version-externally-managed --compile Check the logs for full command output.

 

查看了日志,原因是头文件gmp.h文件不存在,寻找了一下网上的,mark一下需要的东西

brew install libmpc
pip3 install gmpy2

采用brew进行安装的时候会自动安装mpfr和gmpy

安装好了后,查了下libmpc mpfr是什么:

libmpc是一个C库,用于复数的算术,具有任意高的精度和正确的舍入结果。 它将固定精度实数浮点数的IEEE-754标准的原则扩展为复数,为每个操作提供明确的语义。 同时,高精度的操作速度是主要的设计目标。

MPFR库是一个C库,用于具有正确舍入的多精度浮点计算。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值