pip某些软件包安装异常及处理

psycopg2

包 psycopg2 安装时,报错如下:

  $ pip install psycopg2==2.8.4

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

错误原因:

因为老版本中自带的预编译 wheel 二进制可能会造成崩溃问题,官方决定 psycopg2 从 2.8 版本开始将不再包含预编译二进制,必须通过编译安装。为此还作出了两个调整:

  • 2.7.4 ~ 2.8 之间为过渡期,使用 psycopg2 的预编译二进制时会生成警告
  • 新增了 psycopg2-binary 包,除了仍旧提供预编译二进制外,与 psycopg2 完全一致(即与老版本行为一致)。

解决方案

  $ pip install psycopg2-binary==2.8.4

注:由于目前 Python 的包管理机制,psycopg2 和 psycopg2-binary 虽然可以共存,但删的时候会同时删掉。


(幽蛰 写于 2020.06.17)

原文地址:https://www.cnblogs.com/CakaSWM/p/13153523.html