psycopg2 安装错误 - UnicodeDecodeError

问题描述 投票:0回答:1

在 Windows 上安装

psycopg2
时出现问题:UnicodeDecodeError 和元数据生成失败

我尝试使用 pip 在 Windows 计算机上安装 psycopg2 时遇到错误。这是我收到的错误输出:

Collecting psycopg2
  Using cached psycopg2-2.9.10.tar.gz (385 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [78 lines of output]
  ...
  UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 0: invalid continuation byte
  [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

我已经尝试过的步骤:

  1. 安装二进制版本:我尝试使用二进制版本的psycopg2,但遇到了同样的错误。
  2. 更新 Microsoft Visual Studio 工具:我已确保我的 Visual Studio 构建工具是最新的。
  3. 重新安装 PostgreSQL:我重新安装了 PostgreSQL 以确保 pg_config 文件设置正确。
  4. 检查 python 和 postgresql 的路径环境变量

我的

pg_config
输出:

pg_config


BINDIR = C:/PROGRA~1/POSTGR~1/16/bin
DOCDIR = C:/PROGRA~1/POSTGR~1/16/doc
HTMLDIR = C:/PROGRA~1/POSTGR~1/16/doc
INCLUDEDIR = C:/PROGRA~1/POSTGR~1/16/include
PKGINCLUDEDIR = C:/PROGRA~1/POSTGR~1/16/include
INCLUDEDIR-SERVER = C:/PROGRA~1/POSTGR~1/16/include/server
LIBDIR = C:/PROGRA~1/POSTGR~1/16/lib
PKGLIBDIR = C:/PROGRA~1/POSTGR~1/16/lib
LOCALEDIR = C:/PROGRA~1/POSTGR~1/16/share/locale
MANDIR = C:/Program Files/PostgreSQL/16/man
SHAREDIR = C:/PROGRA~1/POSTGR~1/16/share
SYSCONFDIR = C:/Program Files/PostgreSQL/16/etc
PGXS = C:/Program Files/PostgreSQL/16/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE = --enable-thread-safety --enable-nls --with-ldap --with-ssl=openssl --with-uuid --with-libxml --with-libxslt --with-lz4 --with-zstd --with-icu --with-tcl --with-perl --with-python
CC = не записано
CPPFLAGS = не записано
CFLAGS = не записано
CFLAGS_SL = не записано
LDFLAGS = не записано
LDFLAGS_EX = не записано
LDFLAGS_SL = не записано
LIBS = не записано
VERSION = PostgreSQL 16.4

其他详细信息:

  • 该错误似乎与 pg_config 文件中的 UnicodeDecodeError 有关,这可能是由输出中的非 UTF-8 字符引起的(例如,не записано)。
  • 我在 Windows 10 系统上运行 Python 3.13 和 PostgreSQL 16。

我需要帮助:

  • 如何修复 UnicodeDecodeError 或使 psycopg2 在 Windows 上安装正常?
  • 有没有办法确保 psycopg2 安装程序正确解释 pg_config 输出?
python postgresql pip psycopg2
1个回答
0
投票

psycopg2 尚不兼容 Windows 上的 Python 3.13。截至目前,PyPi 上还没有可用的轮子。您可以为此包使用 Python 3.12。

© www.soinside.com 2019 - 2024. All rights reserved.