Выполнение Chef завершается неудачно, и та же команда выполняется вручную - PullRequest
0 голосов
/ 25 сентября 2018

Это произошло со мной в двух разных случаях, оба из которых связаны с использованием 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 успешно завершена.Какая там разница?

...