首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Pycrypto安装致命错误:找不到gmp.h文件

Pycrypto安装致命错误:找不到gmp.h文件
EN

Stack Overflow用户
提问于 2013-03-13 08:59:51
回答 3查看 22.7K关注 0票数 47

似乎有许多人遇到过类似的问题,然而,经过多次搜索,我还没有找到适用于我的特定架构的解决方案。我正在尝试安装Pycrypto (作为Fabric的一个子公司),但没有成功。

我运行的是Mac 10.8.2、python2.7.3和XCode 4.6 --用pip或easy_install安装(这两个我都试过了)。据我所知,问题可能与我的XCode版本有关,也可能与我的库有关。XCode的命令行工具已经安装,我尝试将setenv ARCHFLAGS "-arch i386 -arch x86_64"放入我的.cshrc文件中。我也尝试过ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer /Developer。至于这些库,我尝试过通过ln -s /usr/local/lib/libgmp.dylib /usr/lib/libgmp.dylib链接它们--但同样行不通。

无论我尝试什么角度,误差总是相同的(见下文)。任何帮助都将不胜感激。

代码语言:javascript
复制
/usr/local/share/python% pip install pycrypto
Downloading/unpacking pycrypto
  Running setup.py egg_info for package pycrypto

Installing collected packages: pycrypto
  Running setup.py install for pycrypto
    building 'Crypto.PublicKey._fastmath' extension
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -pipe -mmacosx-version-min=10.8 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -Wno-unused-value -Wno-empty-body -Qunused-arguments -fwrapv -Wall -Wstrict-prototypes -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/ -I/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/_fastmath.c -o build/temp.macosx-10.8-intel-2.7/src/_fastmath.o
src/_fastmath.c:36:11: fatal error: 'gmp.h' file not found
# include <gmp.h>
          ^
1 error generated.
error: command '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' failed with exit status 1
Complete output from command /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools;__file__='/var/folders/ym/v8l23q_x2xz_qhx3m84n6ym00005fr/T/pip-build/pycrypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/ym/v8l23q_x2xz_qhx3m84n6ym00005fr/T/pip-Xb7nGV-record/install-record.txt --single-version-externally-managed:
running install

running build

running build_py

running build_ext

running build_configure

building 'Crypto.PublicKey._fastmath' extension

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -pipe -mmacosx-version-min=10.8 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -Wno-unused-value -Wno-empty-body -Qunused-arguments -fwrapv -Wall -Wstrict-prototypes -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/ -I/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/_fastmath.c -o build/temp.macosx-10.8-intel-2.7/src/_fastmath.o

src/_fastmath.c:36:11: fatal error: 'gmp.h' file not found

# include <gmp.h>

      ^

1 error generated.

error: command '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain    /usr/bin/clang' failed with exit status 1

----------------------------------------
Command /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools;__file__='/var/folders/ym/v8l23q_x2xz_qhx3m84n6ym00005fr/T/pip-build/pycrypto/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/ym/v8l23q_x2xz_qhx3m84n6ym00005fr/T/pip-Xb7nGV-record/install-record.txt --single-version-externally-managed failed with error code 1 in /var/folders/ym/v8l23q_x2xz_qhx3m84n6ym00005fr/T/pip-build/pycrypto
Storing complete log in /Users/me/.pip/pip.log

当我尝试调用Fabric时出现错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/usr/local/share/python/fab", line 5, in <module>
from pkg_resources import load_entry_point
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg/pkg_resources.py", line 2815, in <module>
working_set.require(__requires__)
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg/pkg_resources.py", line 690, in require
needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg/pkg_resources.py", line 588, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pycrypto>=2.1,!=2.4
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-22 10:01:07

我终于意识到我的问题的根源在于Fabric和Pycrypto版本之间的不兼容。一旦我将Fabric版本降级到1.2.6,我就不再收到上面的错误。然后,我使用tutorial作为起点。然而,尽管有本教程和旧版本的Fabric,我仍然得到了PyCrypto >= 2.1, !=2.4错误。我最终从源代码安装了Pycrypto2.2(因为显然pip只会安装v2.0.1,即使指定每个thispip -Iv install pycrypto==2.2和v2.6也会导致gmp.h错误)。最后,一切都正常了。

票数 0
EN

Stack Overflow用户

发布于 2016-03-03 00:46:09

如果您使用的是Homebrew,那么应该可以做到以下几点:

代码语言:javascript
复制
brew install gmp
env "CFLAGS=-I/usr/local/include -L/usr/local/lib" pip install pycrypto

使用env只会使它对该调用起作用。如果稍后需要在此会话中安装pycrypto,请导出该变量。

代码语言:javascript
复制
export "CFLAGS=-I/usr/local/include -L/usr/local/lib" 
pip install pycrypto
票数 110
EN

Stack Overflow用户

发布于 2013-05-07 01:17:58

我能够使用以下命令安装PyCrypto:

代码语言:javascript
复制
CFLAGS=-I/opt/local/include pip install pycrypto

我通过MacPorts安装了GMP,运行在OSX10.8.3和python.org的Python2.7.2上。在本例中,我将安装到一个virtualenv。

当使用PyCrypto时,我会收到以下警告,但它仍然可以工作:

代码语言:javascript
复制
/Users/me/.virtualenvs/blah/lib/python2.7/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
  _warn("Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15375171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档