在linux环境下,第一次安装psycopg2库可能会出现如下异常
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [37 lines of output]
running egg_info
creating /tmp/pip-pip-egg-info-sd9qo_2t/psycopg2.egg-info
writing /tmp/pip-pip-egg-info-sd9qo_2t/psycopg2.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-pip-egg-info-sd9qo_2t/psycopg2.egg-info/dependency_links.txt
writing top-level names to /tmp/pip-pip-egg-info-sd9qo_2t/psycopg2.egg-info/top_level.txt
writing manifest file '/tmp/pip-pip-egg-info-sd9qo_2t/psycopg2.egg-info/SOURCES.txt'
/envs/django_study/lib/python3.8/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
!!
********************************************************************************
The license_file parameter is deprecated, use license_files instead.
By 2023-Oct-30, you need to update your project and remove deprecated calls
or your builds will no longer be supported.
See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
********************************************************************************
!!
parsed = self.parsers.get(option_name, lambda x: x)(value)
Error: pg_config executable not found.
pg_config is required to build psycopg2 from source. Please add the directory
containing pg_config to the $PATH or specify the full executable path with the
option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
If you prefer to avoid building psycopg2 from source, please install the PyPI
'psycopg2-binary' package instead.
For further information please check the 'doc/src/install.rst' file (also at
<https://www.psycopg.org/docs/install.html>).
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
这个错误是由于在安装Python包时,psycopg2(用于与PostgreSQL数据库连接的Python库)尝试从源代码构建而没有找到pg_config可执行文件引起的。
要解决这个问题,您可以采取以下步骤:
安装pg_config
:如果您仍然想从源代码构建psycopg2
,则需要安装pg_config
可执行文件。您可以使用以下命令来安装pg_config
:
- 在Debian/Ubuntu上:2
sudo apt-get install libpq-dev
- 在CentOS/RHEL上:
sudo yum install postgresql-devel
- 在macOS上(使用Homebrew):
brew install postgresql
安装完pg_config
后,您可以再次尝试安装psycopg2
。