Python 在osx上安装pycrypto时出现问题

Python 在osx上安装pycrypto时出现问题,python,django,Python,Django,我正试图在我的OSX机器上安装一个Django项目,它需要PyCrypto。我得到以下错误: running install running build running build_py running build_ext running build_configure checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/Users/home/Documents

我正试图在我的OSX机器上安装一个Django项目,它需要PyCrypto。我得到以下错误:

running install
running build
running build_py
running build_ext
running build_configure
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/Users/home/Documents/tmp/dlitz-pycrypto-d2170a4':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
Traceback (most recent call last):
  File "setup.py", line 486, in <module>
    core.setup(**kw)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/install.py", line 573, in run
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/build.py", line 127, in run
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
  File "setup.py", line 292, in run
    self.run_command(cmd_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
  File "setup.py", line 319, in run
    raise RuntimeError("autoconf error")
RuntimeError: autoconf error
正在运行安装
运行构建
运行build\u py
运行build_ext
运行build\u configure
正在检查gcc。。。不
正在检查抄送。。。不
正在检查cl.exe。。。不
配置:错误:在“/Users/home/Documents/tmp/dlitz-pycrypto-d2170a4”中:
配置:错误:在$PATH中找不到可接受的C编译器
有关详细信息,请参阅“config.log”
回溯(最近一次呼叫最后一次):
文件“setup.py”,第486行,在
堆芯设置(**kw)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py”,第152行,在安装程序中
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py”,第953行,在run_命令中
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py”,第972行,在run_命令中
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/install.py”,第573行,正在运行
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py”,第326行,在run_命令中
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py”,第972行,在run_命令中
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/build.py”,第127行,处于运行状态
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py”,第326行,在run_命令中
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py”,第972行,在run_命令中
运行中的文件“setup.py”,第292行
self.run_命令(cmd_名称)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py”,第326行,在run_命令中
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py”,第972行,在run_命令中
运行中的文件“setup.py”,第319行
引发运行时错误(“自动确认错误”)
RuntimeError:autoconf错误
这个错误是不言自明的。获取一个C编译器


XCode应该可以工作。

如果您在Lion上使用XCode 4.x,您需要跳过一些额外的限制来编译和安装:

1) 在Xcode中,转到Preferences>Downloads,然后单击“命令行工具”旁边的“安装”按钮来安装Python所需的编译器

2) 在我的例子中,我必须创建一个从gcc到gcc-4.2的临时符号链接,以关闭pycrypto编译器。在终端窗口中,要获取根访问权限,请执行以下操作:

a) 确保安装了gcc:

#哪个gcc
/usr/bin/gcc

b) 创建符号链接:

#ln-s/usr/bin/gcc/usr/bin/gcc-4.2

3) 将cd放入pycrypto目录,并构建和安装pycrpto:

#cd~/Downloads/pycrypto-2.5
(或您的版本)
#python setup.py build
#python setup.py安装

4) 删除先前创建的符号链接:

#rm/usr/bin/gcc-4.2


如果您的进程与我的进程类似,您应该在Lion上安装一个功能正常的pycrypto。

对于Mountain Lion,我在这里登录:developer.apple.com/downloads/index.action 35;-谢谢您

我下载了“用于Xcode的命令行工具(OSX Mountain Lion)”。没有完全解决它。我的Xcode已经过时(3.2.6),所以我必须从上面提到的页面获得4.4版本。这就是为什么我不能遵循斯廷格回答中的步骤。旧版本的Xcode中没有首选项>下载选项

我听说你也可以从应用商店下载Xcode。 (http://www.chrisk.de/blog/2011/03/how-to-upgrade-to-xcode-4-or-uninstall-xcode-3/)

developer.apple.com上的Xcode 4没有取代Xcode 3,也没有将其移动到/developer old,因此我决定从App Store再次安装它,以确保一切正常。另外,也不需要单独下载命令行工具,因为正如sstinger所说,可以从Xcode 4首选项下载命令行工具

在使用以下命令从应用商店安装之前,我卸载了以前的Xcode安装

sudo/Developer/Library/uninstall devtools--mode=all

我试着跑:

#python setup.py build

我得到以下警告

警告:未找到GMP或MPIR库;不构建加密公钥。\u fastmath.

所以我试着用自制软件安装GMP

sudo brew安装gmp

但是为了这个,我不得不做

#sudo ln-s/usr/bin/gcc/usr/bin/gcc-4.2

#sudo ln-s/usr/bin/g++/usr/bin/g++-4.2

但自制软件在“检查”时冻结了,我不得不放弃。它也冻结了我做的“酿造医生”,它有一些奇怪的问题。请参见此处的讨论。我对其他安装的东西也有一些问题

我更新了自制软件并修复了“brew医生”中的所有问题。在此之后,我再次执行了
#brew安装gmp
。这一次,我经历了。setup.py仍然没有成功


最后我尝试了
#sudopip安装pycrypto
。我以为我以前做过,但现在它似乎正确安装了pycrypto。我认为实际上没有必要安装GMP或MPIR。不确定了。:)

命令行工具是一个单独的安装:这是我每次有胆量认为在OSX Mountain Lion上进行pip安装时的经验。您开始认为这比从源代码构建更容易,最终会出现一个奇怪的组合,即更改了的环境变量和安装包,直到某个组合最终起作用,笼罩在神秘之中。我希望看到负责xcode处理编译器的人因反人类罪在海牙受审。
configure: error: no acceptable C compiler found in $PATH