当前位置: 首页 > 知识库问答 >
问题:

诗歌python:如何使用从Docker运行的Postgres安装Polycopg2[副本]

柯甫
2023-03-14

我在我的旧笔记本电脑上设置了一个项目,在我的本地安装了Postgresql,并使用诗歌作为包管理器。现在我搬进了另一台笔记本电脑。在这台笔记本电脑上,我想使用Docker的Postgres,所以我没有安装它。但是当我运行诗歌安装poetry.lock文件设置项目时,它无法安装带有错误:

Error: pg_config executable not found.

正如我搜索的那样,它需要在本地安装Postgres。那么,如何使用Docker的Postgres从锁文件安装Psycopg2?

共有2个答案

后易安
2023-03-14

PostgreSQL(开发版或任何稳定版)应该在安装psycopg2之前安装。您计划从 docker 使用数据库服务器,这完全没问题。但是,要安装psycopg2,您需要在主机中安装Postgres。但是,当您在 docker 中运行应用程序时,主机中也不需要它。您可以查看此答案以获取有关在操作系统中安装psycopg2的帮助。

赫连华皓
2023-03-14

您不需要安装Postgres本身,但您需要libpq。

libpq 是 C 应用程序程序员与 PostgreSQL 的接口。libpq是一组库函数,允许客户端程序将查询传递到PostgreSQL后端服务器并接收这些查询的结果。

libpq也是其他几个PostgreSQL应用程序接口的底层引擎,包括为C、Perl、Python、Tcl和ECPG编写的应用程序接口。因此,如果您使用其中一个包,libpq行为的某些方面将对您很重要。特别是,第34.15节、第34.16节和第34.19节描述了使用libpq的任何应用程序的用户可见的行为。

因此,pyspeg2留档建议安装包python3-devlibpq-dev

sudo apt install python3-dev libpq-dev 

他们的文件中写道:

Psycopg 是围绕 libpq PostgreSQL 客户端库的 C 包装器。要从源代码安装它,您需要:

一个C编译器。

Python 头文件。它们通常安装在python-dev或python3-dev等软件包中。诸如错误:Python.h:没有这样的文件或目录之类的消息表示Python标头丢失。

libpq头文件。它们通常安装在诸如libpq-dev之类的软件包中。如果出现错误:libpq-fe。h: 没有丢失的文件或目录。

pg_config程序:它通常由libpq-dev包安装,但有时它不在路径目录中。将它放在路径中可以极大地简化安装,所以尝试运行pg_config - version:如果它返回一个错误或意外的版本号,那么找到包含正确的libpq版本附带的pg_config的目录(通常是/usr/lib/postgresql/X.Y/bin/)并将其添加到路径中:

$ export PATH=/usr/lib/postgresql/X.Y/bin/:$PATH

如果您不希望这样,您可以通过python包< code>psycopg2-binary使用预编译的二进制文件,尽管我们并不建议这样做。

 类似资料:
  • 我想完全下载这个从GitHub网站下载的包,但我不知道如何运行这个包。命令[python setup.py install]附带的包中没有名为[setup.py]的文件。我安装了它,当我从GitHub网站下载包时,我们应该如何运行该包?这意味着什么顺序?当我们从GitHub网站下载Python包时,如何在Windows系统上运行?如何运行整个下载包?请在GitHub中完整解释数据包下载地址:htt

  • 问题内容: 我需要在docker容器中同时使用java和python来运行一些代码。 这是我的dockerfile:如果我不添加 FROM openjdk:slim,* 它将正常运行 * test.py应用程序位于同一目录中: 我收到此错误: 我到底在做什么错?我是Docker的新手,也许我错过了一步。 额外细节 我的目标 我必须运行一个运行Java文件的python程序。我正在使用的python

  • 另一个尝试: 有没有人用美洲狮成功做到这一点?如果是的话,我错过了什么?感谢您对此问题的帮助!

  • 我正在学习如何使用GitHub,我想下载一个python库来获取两种货币之间的最新汇率,我在GitHub上找到了一个。我如何下载它并在pycharm上使用它?

  • 我需要在我的docker容器中同时使用java和python来运行一些代码。 我的目标 我必须运行一个运行Java文件的python程序。我使用的python库需要的路径。 我的问题: Python包装器以我需要的方式运行文件。