Подтвердить что ты не робот

Не удается установить пакет psycopg2 через установку pip... Это из-за Сьерры?

Я работаю над проектом для одной из моих лекций, и мне нужно загрузить пакет psycopg2, чтобы работать с используемой базой данных postgresql. К сожалению, когда я пытаюсь установить psycopg2, появляется следующее сообщение:

ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang' failed with exit status 1
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/bin/clang' failed with exit status 1

Кто-нибудь знает, почему это происходит? Это потому, что Sierra не поддерживает некоторые пакеты? Спасибо заранее!

4b9b3361

Ответ 1

Я исправил это, установив средства командной строки

xcode-select --install

затем установив openssl через Homebrew и вручную привязав мой openbl с открытым исходным кодом к pip:

env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2

на macOS Sierra 10.12.1

Ответ 2

Попробуйте установить его с помощью:

pip install psycopg2-binary

Ответ 3

  • Установить/обновить инструменты разработчика Xcode

    xcode-select --install
    
  • Запрос postgres path

    find / -name pg_config  2>/dev/null
    
  • Установите psycopg2, используйте путь, который вы получили в шаге 2. Mine был '/usr/local/Cellar/postgresql/9.5.0/bin/pg_config'

    PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/ pip install psycopg2
    

Ответ 4

Это работает для меня (на терминале):

find / -name pg_config  2>/dev/null

затем добавьте путь:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.5/bin/

os версия: MacOs Sierra

Надеюсь, это поможет.

Ответ 5

Похоже, что пакет openssl не установлен. Попробуйте снова установить его и pip install. Я не пользователь macos, но я считаю, что brew упрощает управление пакетами на этой платформе.

Вам также может потребоваться установить пакеты разработки Python и postgresql.

Ответ 6

Старый, но для людей, использующих pipenv, я решил эту проблему, посмотрев на мой граф зависимостей pipenv graph --reverse и заметив, что требуется psycopg2-binary==2.8.2. Запуск pipenv install psycopg2-binary решил проблему.

Ответ 7

brew install postgresql

Если postgresql существует, запустите:

brew upgrade postgresql
sudo pip install psycopg2

В венве:

env LDFLAGS='-L/usr/local/lib -L/usr/local/opt/openssl/lib
-L/usr/local/opt/readline/lib' pip install psycopg2==2.8.3

Ответ 8

Если вы столкнулись с подобной проблемой, используя pipenv, установите psycopg2:

ld: библиотека не найдена для -lssl ',' clang: error: команда компоновщика ошибка с кодом выхода 1 (используйте -v для просмотра вызова) ', "ошибка: Сбой команды 'clang' с состоянием выхода 1", '
----------------------------------------",

Я перепробовал все рекомендации, приведенные выше, и ни одна из них не сработала. Я столкнулся с этой проблемой в другом virtualenv несколько месяцев назад и вспомнил, что читал кое-что о том, что это проблема версии psycopg2. Поэтому я попытался установить с 2.7.1 и 2.8.3, и оба по-прежнему не удалось. Каким-то образом версия 2.7.7 сработала:

pipenv install psycopg2==2.7.7

Жаль, что у меня не было времени изучить это дальше, чтобы понять, что на самом деле происходит. Но сейчас я не, и это сработало.