Это произошло со мной в двух разных случаях, оба из которых связаны с использованием pip
для установки модуля с системными зависимостями.У меня проблема с тем, что я могу pip install
модуль python в оболочке от имени пользователя root, но когда я помещаю ту же команду в блок execute
, это не удается.Вот пример:
PYCURL_SSL_LIBRARY=openssl /srv/python/venv/bin/pip install pycurl
Это работает, но затем этот блок:
execute 'install pycurl' do
cwd '/srv/python/venv'
environment(
PYCURL_SSL_LIBRARY: 'openssl'
)
command '/srv/python/venv/bin/pip install pycurl'
end
дает мне следующую ошибку о curl-config
:
---- Begin output of /srv/python/venv/bin/pip install pycurl ----
STDOUT: Collecting pycurl
Downloading https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz (214kB)
Complete output from command python setup.py egg_info:
Using curl-config (libcurl 7.29.0)
Traceback (most recent call last):
...
raise ConfigurationError(msg)
__main__.ConfigurationError: Neither curl-config --libs nor curl-config --static-libs succeeded and produced output
Я попытался установить переменную PYCURL_CURL_CONFIG
соответствующим образом, но я получаю тот же результат, и в любом случае я пытаюсь выяснить, почему я по крайней мере не получу такую же ошибку наКомандная строка вместо установки pip успешно завершена.Какая там разница?