проблемы с easy_install pycrypto

#python #pycrypto

#python #pycrypto

Вопрос:

Я пытаюсь установить pycrypto на osx с помощью easy_install и получаю следующую ошибку:

 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
  

Комментарии:

1. Я только что установил xcode 4 перед выполнением этого, могло ли это повлиять на это?

2. Вы работаете на PPC-компьютере?? Ваши ошибки выражаются в том, что он не может найти ассемблеры для них

3. Попробуйте PyPM для бинарных пакетов, code.activestate.com/pypm/pycrypto

Ответ №1:

У меня есть это в моем ~/.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

Ответ №3:

xCode 5.1

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

Ответ №4:

Похоже, с OSX 10.9 это стало немного сложнее. Вот дополнительные материалы, которые я сделал:

brew install libffi

Если вы видите предупреждение о том, как он установлен «только для кегов», это означает, что homebrew не связывал его, поэтому вам нужно предоставить дополнительную информацию с export PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig . В этот момент установка прерывается, потому что по умолчанию OSX теперь отключается при наличии предупреждающих флагов, поэтому подавите это поведение:

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

Тогда вы должны быть в состоянии установить с pip .