python easy_install: указать необходимые каталоги для размещения файлов - PullRequest
5 голосов
/ 21 января 2011

Я пытаюсь использовать easy_install для установки MySQL-python. Сбой почти сразу:

_mysql.c: 36: 23: ошибка: my_config.h: нет такого файла или каталога
_mysql.c: 38: 19: ошибка: mysql.h: нет такого файла или каталога
_mysql.c: 39: 26: ошибка: mysqld_error.h: нет такого файла или каталога
_mysql.c: 40: 20: ошибка: errmsg.h: нет такого файла или каталога

Он не может найти заголовки. У меня установлены заголовки, они просто установлены из источника в / opt. Это явно не смотрит туда. Как мне заставить это выглядеть там? Например, если это было сконфигурировано, я мог бы сделать что-то вроде "--with-mysql = / opt / mysql". Похоже, что есть такая опция с easy_install. Все еще исследую, поэтому, если я найду свой ответ, я опубликую его здесь.

Ответы [ 2 ]

5 голосов
/ 21 января 2011

Это больше похоже на проблему с путем поиска компилятора, чем на выпуск easy_install.

Установка переменной среды include path до того, как вызов easy_install может работать.не работает, попробуйте установить переменные INCLUDE_PATH или CPLUS_INCLUDE_PATH.В вопросе не было достаточно вывода easy_install, чтобы сказать, какой компилятор используется.

3 голосов
/ 20 января 2012

easy_install вызывает setup.py, что будет учитывать файл setup.cfg в дистрибутиве, который он пытается установить.Хотя вы не можете указать параметры setup.py --include_dirs и --library_dirs непосредственно для easy_install, вы можете поместить их в файл setup.cfg.

У меня похожая проблема с pysqlite: я помещаю SQLite внестандартное расположение, и хотел использовать easy_install для получения привязок Python.В дистрибутив pysqlite входит файл setup.cfg с примерами директив include_dirs и library_dirs, поэтому было ясно, что делать.

Если MySQL-python имеет файл setup.cfg, вы можете попробовать добавить / изменить его, включив в него:

[build_ext]
include_dirs = /path/to/headers
library_dirs = /path/to/libs

Если в файле setup.cfg уже есть раздел [build_ext], добавьте к нему вместо создания второго.

...