Pergunta

I have brew installed mpcand gmp , but when I try to pip install gmpy2 I get a compile error on the line

#include "mpc.h"

so for some reason clang is having trouble finding the mpc library. I'm not sure what I should do at this point.

Foi útil?

Solução 3

I'm the maintainer for gmpy2. I don't have access to a Mac so I can't test OSX builds.

I assume you've also installed mpfr since it is a prerequisite of mpc. Where are the development files (i.e. gmp.h, mpfr.h, and mpc.h) located?

Instead of installing via pip, can you try installing from the command line? I use a command similar to:

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

This command assumes that the .h files are located in /opt/local/include. You will need to adjust the prefix to suit your system.

Outras dicas

For OSX with homebrew users - I tried to do the usual dance with

brew install mpc
brew install mpfr

and then

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

but got the error, that 'mpc.h' could not be found. True enough, there is no mpc.h file to be found. The solution is, to use

brew install libmpc
brew install mpfr

instead. After that gmpy2 was compiling and installing with no further problems.

The short and sweet 2015 answer:

brew install mpfr
brew install libmpc
pip install gmpy2

As of the 06 March 2018, the only thing that worked for me was the following. (Install on Mac OS High Sierra 10.13.3, for 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

Note that sudo port install libmpc automatically installs mpfr as a dependency. --global-option="-I/opt/local/include/" basically tells the system that the header files for gmp, mpc and mpfr are in /opt/local/include/ and --global-option="-L/opt/local/lib/" tells that the libraries to use are located in /opt/local/lib/.

If you are using anaconda or miniconda, install mpc and mpfr from conda-forge and then install gmpy

conda install -c conda-forge mpc mpfr
pip install gmpy2
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top