Решение, подобное тому, которое вы нашли, сработало для меня, когда оно было выпущено из моего virtualenv. Я использую Homebrew в качестве менеджера пакетов в macOS High Sierra и Pipenv для управления зависимостями моего проекта и virtualenv. Ошибка возникла после добавления в мой проект библиотеки API PyVimeo, которая имеет PycURL в качестве зависимости.
Сгенерированные ошибки были, во-первых,
src/pycurl.c:137:4: предупреждение: #warning "libcurl была скомпилирована с поддержкой SSL, но configure не смогла определить, какая библиотека использовалась; таким образом, не будут установлены обратные вызовы криптоблокировки SSL, что может вызвать случайные сбои при запросах SSL "[-Wcpp]
тогда,
ImportError: pycurl: бэкэнд libcurl link-time ssl (openssl) отличается от бэкэнда ssl во время компиляции (нет/другое)
Как упоминалось в документации по PycURL, решение состояло в том, чтобы "сообщить программе установки [PycURL] .py какой сервер SSL используется." Установка переменных среды, рекомендованных в выходных данных brew info openssl
, сама по себе не решила проблему.
Затем я нашел касательно связанный комментарий к проблеме Github и попробовал следующее изнутри: мой проект virtualenv:
(env)$ pip uninstall pycurl
(env)$ pip install --upgrade pip
(env)$ export LDFLAGS=-L/usr/local/opt/openssl/lib
(env)$ export CPPFLAGS=-I/usr/local/opt/openssl/include
(env)$ export PYCURL_SSL_LIBRARY=openssl
(env)$ pip install pycurl
Команда install
дала следующий вывод:
Сбор pycurl с использованием кэшированного https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz Создание колес для собранных пакетов: pycurl Запуск setup.py bdist_wheel для pycurl ... done Хранится в каталоге: /Users/me /Library/Caches/pip/wheels/d2/85/ae/ebf5ff0f1378a69d082b4863df492bf54c661bf6306a2bd Успешно построенный pycurl tuspy 0.2.1 имеет требование pycurl==7.43.0, но у вас будет pycurl 7.43.0.2, который несовместим. Установка собранных пакетов: pycurl успешно установлен pycurl-7.43.0.2
Я заметил (несколько мелкую?) ошибку tuspy
и побрел дальше. На этот раз мой скрипт работал без жалоб PycURL.
person
nootrope
schedule
07.07.2018