Создание графического инструмента на OSX с Python 3.4

Я попытался установить graph-tool на Mac OSX 10.10, используя homebrew. Процесс сборки brew работает нормально, но когда я пытаюсь импортировать Graph-Tool, я получаю сообщение об ошибке, описанное в этом вопросе. Другая проблема с homebrew заключается в том, что я всегда собираю graph-tool для python 2.7, и он устанавливает пакеты в папку Python 2.7 sit-packages. Но я хочу использовать его с Python 3.4. Это причины, по которым я попытался построить Graph-Tool из исходного кода.

./configure Команда также автоматически использует Python 2.7. Так что я передал ему желаемую версию Python с ./configure PYTHON=python3.4

Затем он обнаруживает правильную версию, а также связанные пути, но происходит сбой со следующей ошибкой:

настроить: ошибка:
Не удалось связать тестовую программу с Python. Возможно, основная библиотека Python была установлена ​​по какому-то нестандартному пути к библиотеке. Если это так, передайте его для настройки через переменную среды LDFLAGS.
Пример: ./configure LDFLAGS="-L/usr/ нестандартный путь / python / lib"

================================================== ==================== ОШИБКА! Возможно, вам придется установить версию для разработки пакета Python для вашего дистрибутива. Точное название этого пакета варьируется среди них.

================================================== ====================

Ошибка происходит с и без PYTHON набор переменных. Из вывода ./configure Я вижу, что все работает хорошо, за исключением последней строки, которая говорит:

проверка согласованности всех компонентов среды разработки Python... нет

Что означает приведенная выше строка и как правильно установить Graph-Tool на моем компьютере?

3 ответа

Сообщение об ошибке объясняет , что именно нужно сделать. Поскольку python был установлен по нестандартному пути, вам нужно передать флаг LDFLAGS="-L/usr/non-standard-path/python/lib" указывая на каталог, в котором расположены библиотеки Python. Это скорее всего "/usr/local/lib", если вы используете доморощенный.

Я получал эту ошибку, когда пытался установить graph-tool используя устаревший autoconf / automake / pkg-config комбинация (устанавливается с помощью yum в CentOS 5.10). Установка этих пакетов из исходного кода устранила проблему... хотя я не уверен, как это связано с моей установкой Python....

Это сработало для меня, передав переменную PYTHON_EXTRA_LDFLAGS="-Wl,-stack_size,1000000 -F/usr/local/Cellar/python3/3.6.3/Frameworks -framework CoreFoundation",
В вашем случае это будет путь к homebrew установка python3.4,
Я узнал, что в config.log, сообщение об ошибке показывает следующее:

configure:19023: checking python extra libraries
configure:19030: result: -ldl  -framework CoreFoundation 
configure:19037: checking python extra linking flags
configure:19044: result: -Wl,-stack_size,1000000  -framework CoreFoundation Python.framework/Versions/3.6/Python
configure:19051: checking consistency of all components of python development environment
configure:19079: gcc -o conftest -g -O2 -DNDEBUG  -I/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/include/python3.6m -F/usr/local/Cellar/python3/3.6.3/Frameworks/ -Wl,-stack_size,1000000  -framework CoreFoundation Python.framework/Versions/3.6/Python conftest.c  -L/usr/local/opt/python3/Frameworks/Python.framework/Versions/3.6/lib -lpython3.6m -ldl  -framework CoreFoundation  -ldl  -framework CoreFoundation  >&5
clang: error: no such file or directory: 'Python.framework/Versions/3.6/Python'

Ошибка, кажется, путь 'Python.framework/Versions/3.6/Python', что в homebrew установка не существует. Я ищу тот же путь в config.log и я нашел эту строку:

PYTHON_EXTRA_LDFLAGS="-Wl,-stack_size,1000000 -framework CoreFoundation Python.framework/Versions/3.6/Python"

Таким образом, решение для меня было передать эту переменную с правильным путем.

Другие вопросы по тегам