在OSX上安装gmpy - 找不到mpc.h文件

12

我已经使用brew install命令安装了mpcgmp,但是当我尝试使用pip install gmpy2命令时,在某一行出现了编译错误。

#include "mpc.h"

因为某些原因,clang 在寻找 mpc 库时出现了问题。我不确定此时该怎么办。


也许在这里快速查看档案(http://stackoverflow.com/questions/15138708/installing-gmpy-on-mac-os-x-mountain-lion)会很有用? - hd1
@hd1 我看了那篇帖子,但我认为那不是同样的错误。你为什么认为它是呢? - Jakob Weisblat
"mpc.h"看起来很奇怪 - 请尝试使用<mpc.h>。 - Brett Hale
5个回答

50

对于使用Homebrew的OSX用户-我试图执行通常的步骤:

brew install mpc
brew install mpfr

然后

python setup.py --prefix=/usr/local/Cellar

但是遇到了错误,提示找不到“mpc.h”文件。实际上,确实找不到mpc.h文件。解决方法是使用

brew install libmpc
brew install mpfr

替换成它。之后,gmpy2编译和安装就没有出现进一步的问题。


3
我想指出一个细微的误解,mpc 是“用于 mpd 的命令行音乐播放器客户端”,而 libmpc 则是“用于高精度复数算术的 C 库”。我们需要安装的是第二个。如果不确定,可以尝试调用 brew info 命令来查询。 - MichK
2
这个答案应该更新为只需brew install libmpc,因为mpfrlibmpc的依赖项,而mpc不是你要找的库。 - Keith Shaw

17

简短明了的回答(2015):

brew install mpfr
brew install libmpc
pip install gmpy2

刚试过了,在干净的OS X Mojave 10.14.5上可以运行。在brew安装mpfr和libmpc之后,使用pip3 install --user gmpy2进行安装。 - Albert Veli

7

我是gmpy2的维护者。由于没有Mac电脑,因此无法测试OSX构建。

我假设您也已经安装了mpfr,因为它是mpc的前提条件。开发文件(即gmp.hmpfr.hmpc.h)位于哪里?

请尝试从命令行安装,而不是通过 pip 安装。我使用类似以下命令:

python setup.py install --prefix=/opt/local --force

这个命令假定 .h 文件位于 /opt/local/include。您需要调整前缀以适合您的系统。


显然,我的系统上没有任何.h文件,所以我正在通过Google Code上的教程从命令行安装。谢谢! - Jakob Weisblat
@JakobWeisblat 请告诉我安装说明是否需要澄清或改进。 - casevh

2
截至2018年3月6日,我唯一有效的方法是以下步骤。(适用于Mac OS High Sierra 10.13.3和Python 3.5.4)
sudo port install libmpc
sudo port install gmp
sudo pip3 install --global-option=build_ext --global-option="-I/opt/local/include/" --global-option="-L/opt/local/lib/" gmpy2

请注意,sudo port install libmpc 命令会自动安装 mpfr 依赖库。而 --global-option="-I/opt/local/include/" 参数会告诉系统头文件 gmp, mpc, 和 mpfr 的位置在 /opt/local/include/。另外,--global-option="-L/opt/local/lib/" 参数则指明了所需的库文件位于 /opt/local/lib/。请保留 HTML 标签。

0
如果您正在使用Anaconda或Miniconda,请从Conda-Forge安装mpcmpfr,然后再安装gmpy
conda install -c conda-forge mpc mpfr
pip install gmpy2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接