为什么psycopg2无法安装在虚拟环境中?

pet*_*iev 5 python virtualenv pip 20.04

刚刚安装了ubuntu20.04。

安装了python3.10

sudo apt install python3.10
Run Code Online (Sandbox Code Playgroud)

然后创建virtualenv

pip install virtualenv
virtualenv -p python3.10 venv
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试安装我的项目的要求。我遇到的唯一问题是 distutils。但我输入了类似

sudo apt install python3.10-distutils
Run Code Online (Sandbox Code Playgroud)

它消失了。我有这样的需求列表

  • amqp==5.0.6
  • asgiref==3.4.1
  • 台球==3.6.4.0
  • 芹菜==5.1.2
  • 证书==2021.5.30
  • 字符集标准化器==2.0.6
  • 点击==7.1.2
  • 点击-didyoumean==0.0.3
  • 点击插件==1.1.1
  • 点击-repl==0.2.0
  • dj-数据库-url==0.5.0
  • 姜戈==3.2.7
  • django-celery-beat==2.2.1
  • django-celery-结果==2.2.0
  • django-heroku==0.3.1
  • django-redis==5.0.0
  • django-时区-字段==4.2.1
  • 枪兽==20.1.0
  • idna==3.2
  • 海带==5.1.0
  • 提示工具包==3.0.20
  • psycopg2==2.9.1
  • python-crontab==2.5.1
  • python-dateutil==2.8.2
  • python-dotenv==0.19.0
  • pytz==2021.1
  • redis==3.5.3
  • 请求==2.26.0
  • 六==1.16.0
  • sqlparse==0.4.2
  • urllib3==1.26.6
  • 藤==5.0.0
  • 宽度==0.2.5
  • 白噪声==5.3.0

除了 psycopg2 之外,它们都已安装。当我输入时(在激活的 virtualenv 中)

pip install psycopg2==2.9.1
Run Code Online (Sandbox Code Playgroud)

并收到此错误:命令 '/usr/bin/x86_64-linux-gnu-gcc' 失败,退出代码 1

pet*_*iev 6

解决了

sudo apt-get install libpq-dev
Run Code Online (Sandbox Code Playgroud)