试图在Mac OSX mavericks上安装pycrypto

18 python macos pycrypto

我目前正在尝试安装pycrypto,当我执行python setup.py build时,我收到以下错误:

cc -bundle -undefined dynamic_lookup -arch x86_64 -arch i386 -Wl,-F. build/temp.macosx-10.9-intel-2.7/src/_fastmath.o -lgmp -o build/lib.macosx-10.9-intel-2.7/Crypto/PublicKey/_fastmath.so
ld: illegal text-relocation to '___gmp_binvert_limb_table' in /usr/local/lib/libgmp.a(mp_minv_tab.o) from '___gmpn_divexact_1' in /usr/local/lib/libgmp.a(dive_1.o) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'cc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

我已经尝试重新安装命令行工具并删除旧的Xcode实例.

任何帮助都会非常感谢

dom*_*ino 34

这对我有用.(如果你在Xcode 5.1上,应该可以工作)

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pycrypto
Run Code Online (Sandbox Code Playgroud)


rad*_*ncy 11

这样做对我来说:

  sudo port install gmp
  sudo ln -s  /opt/local/lib/libgmp.dylib  /usr/lib/libgmp.dylib  
  ARCHFLAGS=-Wno-error CFLAGS=-I/opt/local/include sudo -E pip install pycrypto
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用`LDFLAGS = -L/opt/local/lib`而不是链接libgmp.不确定它是否真的更安全,因为您可能会链接到/ opt/local中的其他库. (2认同)

thi*_*ski 7

在优胜美地:

CC=clang sudo -E pip install pycrypto
Run Code Online (Sandbox Code Playgroud)


Chr*_*dge 6

我遇到了同样的问题,并通过安装gmp来解决它:

brew install gmp
Run Code Online (Sandbox Code Playgroud)

然后我修改了我的构建目录并重新启动了pycrypto安装并且它成功了.

这也修复了pycrypto配置脚本中的警告消息:

warning: GMP or MPIR library not found; Not building Crypto.PublickKey._fastmath
Run Code Online (Sandbox Code Playgroud)

相关问题.


小智 6

这适用于 Mojave,并且比其他提供的选项更好 IMO: brew install gmp CFLAGS=-I/usr/local/include \ LDFLAGS=-L/usr/local/Cellar/gmp/6.1.2_2/lib \ pip install pycrypto