easy_install pycrypto的问题

时间:2011-05-19 15:35:42

标签: python pycrypto

我正在尝试使用easy_install在osx上安装pycrypto,我收到以下错误:

easy_install pycrypto
Searching for pycrypto
Reading http://pypi.python.org/simple/pycrypto/
Reading http://pycrypto.sourceforge.net
Reading http://www.pycrypto.org/
Reading http://www.amk.ca/python/code/crypto
Best match: pycrypto 2.3
Downloading http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.3.tar.gz
Processing pycrypto-2.3.tar.gz
Running pycrypto-2.3/setup.py -q bdist_egg --dist-dir /var/folders/3D/3D07iptvHZuzuYaeQDMFIU+++TI/-Tmp-/easy_install-00HgRU/pycrypto-2.3/egg-dist-tmp-BWGYsg
warning: GMP library not found; Not building Crypto.PublicKey._fastmath.
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed
Installed assemblers are:
/usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386
src/MD2.c:134: fatal error: error writing to -: Broken pipe
compilation terminated.
lipo: can't open input file: /var/folders/3D/3D07iptvHZuzuYaeQDMFIU+++TI/-Tmp-//ccoXuPRo.out (No such file or directory)
error: Setup script exited with error: command 'gcc-4.2' failed with exit status 1

4 个答案:

答案 0 :(得分:10)

我在~/.bash_profile中有这个问题来解决这个问题:

# Set compile flags to not try to compile for PPC (no longer supported by xcode 4)
# (this is required for eg building pycrypto)
export ARCHFLAGS="-arch i386 -arch x86_64"

答案 1 :(得分:2)

是的,这是安装Xcode 4的结果。它试图为ppc构建,尽管Xcode 4不再具有相关的位。请参阅此问题以了解相关方法:https://superuser.com/questions/259278/python-2-6-1-pycrypto-2-3-pypi-package-broken-pipe-during-build

答案 2 :(得分:1)

xCode 5.1

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pycrypto

答案 3 :(得分:0)

使用OSX 10.9看起来有点困难。这是我做的其他事情:

brew install libffi

如果您看到有关如何安装“keg-only”的警告,则表示自制软件没有将其链接,因此您需要向export PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig提供更多信息。此时安装会爆炸,因为默认情况下OSX现在死于警告标志,因此也会抑制该行为:

export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

然后您应该可以安装pip