I played postgresql for a while today, and I am going to use python to connect to the database to perform queries and other operations. When installing a third-party library, a series of errors suddenly appeared in pip in the liunx environment.
Error message:
ERROR: Command errored out with exit status 1:
command: /home/bd/.virtualenvs/pythonTrain/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-tmd8anz3/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-tmd8anz3/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-tmd8anz3/psycopg2/pip-egg-info
cwd: /tmp/pip-install-tmd8anz3/psycopg2/
Complete output (23 lines):
running egg_info
creating /tmp/pip-install-tmd8anz3/psycopg2/pip-egg-info/psycopg2.egg-info
writing /tmp/pip-install-tmd8anz3/psycopg2/pip-egg-info/psycopg2.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-install-tmd8anz3/psycopg2/pip-egg-info/psycopg2.egg-info/dependency_links.txt
writing top-level names to /tmp/pip-install-tmd8anz3/psycopg2/pip-egg-info/psycopg2.egg-info/top_level.txt
writing manifest file '/tmp/pip-install-tmd8anz3/psycopg2/pip-egg-info/psycopg2.egg-info/SOURCES.txt'
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>).
The solution, because I am using liunx of ubuntu20 layout:
This is because a dependency package libpq-dev is missing: execute sudo apt-get install libpq-dev
After the dependent package is successfully installed, execute pip install psycopg2 again