在OSX上安装gmpy - 找不到mpc.h
我用 brew install
安装了 mpc
和 gmp
,但是当我尝试用 pip install gmpy2
时,出现了编译错误,错误信息在这行:
#include "mpc.h"
所以不知为什么,clang
找不到 mpc
这个库。我现在不知道该怎么做。
5 个回答
如果你在使用anaconda或miniconda,可以从conda-forge安装mpc
和mpfr
,然后再安装gmpy
。
conda install -c conda-forge mpc mpfr
pip install gmpy2
截至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/
这个位置。
2015年简短而直接的回答:
brew install mpfr
brew install libmpc
pip install gmpy2
对于使用Homebrew的OSX用户 - 我尝试了常规的操作,
brew install mpc
brew install mpfr
然后又进行了
python setup.py --prefix=/usr/local/Cellar
但是出现了一个错误,提示找不到'mpc.h'文件。确实,找不到这个文件。解决办法是,使用
brew install libmpc
brew install mpfr
来代替。之后,gmpy2就顺利编译和安装,没有再出现问题。
我是gmpy2的维护者。我没有Mac电脑,所以无法测试OSX的安装。
我猜你已经安装了mpfr
,因为它是mpc
的一个前提条件。请问开发文件(也就是gmp.h
、mpfr.h
和mpc.h
)在哪里呢?
能不能试试通过命令行安装,而不是用pip?我通常用的命令是:
python setup.py install --prefix=/opt/local --force
这个命令是基于.h
文件在/opt/local/include这个路径下的假设。你需要根据自己的系统调整这个路径。