PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

lỗi khi cài đặt psycopg2, không tìm thấy thư viện cho -lssl

Đối với bất kỳ ai đang tìm kiếm giải pháp cho vấn đề này trên macOS Sierra 10.12 (rất có thể là mới hơn):Tôi đã khắc phục sự cố này bằng cách cài đặt các công cụ dòng lệnh:

xcode-select --install

Sau đó, pip install psycopg2 sẽ hoạt động.

Nếu không, bạn cũng có thể thử liên kết với openssl của brew:

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

với openssl được cài đặt qua brew. Lưu ý rằng liên kết brew link openssl --force không hoạt động nữa:

$ brew link openssl --force                                                                                 17.5s
Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
  -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

Như @macho đã chỉ ra bên dưới nếu điều này vẫn không hoạt động, bạn có thể cần sử dụng --no-cache tùy chọn của pip, ví dụ:

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

Hãy nhớ điều chỉnh các đường dẫn này cho phù hợp nếu bạn xây dựng trên máy Mac ARM / Apple M1 chẳng hạn (vì homebrew được cài đặt tại /opt/homebrew/ ); lệnh như sau:

env LDFLAGS="-I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib" pip --no-cache install psycopg2


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tổng quan về các cột được tạo cho PostgreSQL

  2. trình tự thoát cho gạch nối (-) trong PostgreSQL là gì

  3. Làm gì với giá trị null khi lập mô hình và chuẩn hóa?

  4. postgresql:CHÈN VÀO ... (CHỌN * ...)

  5. Nhận [archiver] phiên bản không được hỗ trợ (1.13) trong tiêu đề tệp khi chạy pg_restore