Продолжаем цикл мини заметок про возникающие проблемы при работе с Python, pip и другими приложениями, используемые при разработке на языке Python. Описываемые проблемы встречаются в повседней работе системных администраторов, программистов, DevOps'ов. Непосредственно данные ошибки возникали при разработке программного комплекса Barsemon. Данный программный комплекс должен будет использоваться для мониторинга серверов, сетевого оборудования, окончания доменов и SSL сертификатов, и других критически важных объектов, приложений, оборудования. На данный момент проект находится в стадии разработки.
И так, при установке зависимостей Python могут возникать ошибки компилирования пакета(ов). Ниже представлен вывод программы инсталятора и возникающая при установке пакета ошибка curl.
(!)Все установки производятся на dev сервере, работающего на базе Centos 7.x и Python 3.4
Вывод программы инсталятора:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-7xn9yabd/pycurl/setup.py", line 841, in <module>
ext = get_extension(sys.argv, split_extension_source=split_extension_source)
File "/tmp/pip-build-7xn9yabd/pycurl/setup.py", line 508, in get_extension
ext_config = ExtensionConfiguration(argv)
File "/tmp/pip-build-7xn9yabd/pycurl/setup.py", line 72, in __init__
self.configure()
File "/tmp/pip-build-7xn9yabd/pycurl/setup.py", line 108, in configure_unix
raise ConfigurationError(msg)
__main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory: 'curl-config'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-7xn9yabd/pycurl/
Выше представлен не полный вывод установки Python пакета, а только часть с непосредственной информацией об ошибке.
Ошибка возникает в процессе установки пакета curl из-за отсутствующего дополнительного пакета библиотека libcurl-devel.
Для установки данной библиотеки необходимо воспользоваться командой установки библиотеки:
yum install libcurl-devel.x86_64
После установки требуемой библиотеки можно заново запустить установки пакета curl.
Установка пакета должна пройти без каких-либо ошибок.