Установка gmpy на OSX - mpc.h не найден

У меня есть brew installed mpcи gmp , но когда я пытаюсь pip install gmpy2 я получаю ошибку компиляции в строке

#include "mpc.h"

поэтому по какой-то причине clang не может найти библиотеку mpc. Я не уверен, что я должен делать в этот момент.


person Jakob Weisblat    schedule 20.04.2014    source источник
comment
Возможно, было бы полезно быстро просмотреть архивы здесь ?   -  person hd1    schedule 21.04.2014
comment
@ hd1 Я просмотрел этот пост, но не подумал, что это та же ошибка. Как вы думаете, почему?   -  person Jakob Weisblat    schedule 21.04.2014
comment
"mpc.h" кажется странным - попробуйте <mpc.h>   -  person Brett Hale    schedule 21.04.2014


Ответы (5)


Я сопровождаю gmpy2. У меня нет доступа к Mac, поэтому я не могу тестировать сборки OSX.

Я предполагаю, что вы также установили mpfr, так как это необходимо для mpc. Где находятся файлы разработки (т.е. gmp.h, mpfr.h и mpc.h)?

Вместо установки через pip вы можете попробовать установить из командной строки? Я использую команду, похожую на:

установка python setup.py --prefix=/opt/local --force

Эта команда предполагает, что файлы .h расположены в /opt/local/include. Вам нужно будет настроить префикс в соответствии с вашей системой.

person casevh    schedule 20.04.2014
comment
По-видимому, файлы .h нигде в моей системе не существуют, поэтому я устанавливаю из командной строки с помощью учебника по Google Code. Спасибо! - person Jakob Weisblat; 21.04.2014
comment
@JakobWeisblat Пожалуйста, дайте мне знать, если инструкции по установке нуждаются в разъяснении или могут быть улучшены. - person casevh; 21.04.2014

Для 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 компилировался и устанавливался без проблем.

person Werner Thie    schedule 27.12.2014
comment
Это должен быть канонический ответ имхо - person Mathieu Borderé; 07.09.2015
comment
Я хотел бы указать на одно тонкое недоразумение: mpc — это клиент музыкального проигрывателя командной строки для mpd, в то время как libmpc — это библиотека C для арифметики высокоточных комплексных чисел. Второе — это то, что мы хотим установить. позвоните в информацию о пивоварении, если сомневаетесь. - person MichK; 11.10.2017
comment
Этот ответ должен быть обновлен только до brew install libmpc, потому что mpfr является зависимостью от libmpc, а mpc не является той библиотекой, которую вы ищете. - person Keith Shaw; 01.05.2018

Короткий и милый ответ 2015 года:

brew install mpfr
brew install libmpc
pip install gmpy2
person wim    schedule 13.10.2015
comment
Только что попробовал это, и он работает на чистой установке OS X Mojave. 10.14.5. Устанавливается с помощью pip3 install --user gmpy2 после предварительной установки mpfr и libmpc. - person Albert Veli; 25.05.2019

По состоянию на 06 марта 2018 года единственное, что мне помогло, это следующее. (Установить на 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/.

person Laurent Hayez    schedule 06.03.2018

Если вы используете anaconda или miniconda, установите mpc и mpfr из conda-forge, а затем установите gmpy

conda install -c conda-forge mpc mpfr
pip install gmpy2
person mrdependable    schedule 04.10.2020