Intenté instalar psycopg2 (adaptador de base de datos PostgreSQL) desde este sitiopero cuando trato de instalar después de cd en el paquete y escribo
python setup.py install
Obtuve el siguiente error:
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'.
También probé ‘sudo pip install psycopg2’ y recibí el mismo mensaje.
Después de leer el documentossolicita ver el archivo setup.cfg (que se encuentra a continuación):
[build_ext]
define=
# PSYCOPG_DISPLAY_SIZE enable display size calculation (a little slower)
# HAVE_PQFREEMEM should be defined on PostgreSQL >= 7.4
# PSYCOPG_DEBUG can be added to enable verbose debug information
# "pg_config" is required to locate PostgreSQL headers and libraries needed to
# build psycopg2. If pg_config is not in the path or is installed under a
# different name uncomment the following option and set it to the pg_config
# full path.
#pg_config=
# Set to 1 to use Python datetime objects for default date/time representation.
use_pydatetime=1
# If the build system does not find the mx.DateTime headers, try
# uncommenting the following line and setting its value to the right path.
#mx_include_dir=
# For Windows only:
# Set to 1 if the PostgreSQL library was built with OpenSSL.
# Required to link in OpenSSL libraries and dependencies.
have_ssl=0
# Statically link against the postgresql client library.
#static_libpq=1
# Add here eventual extra libraries required to link the module.
#libraries=
Sin embargo, no estoy seguro si se supone que debo editar este archivo, ya que la documentación establece lo siguiente:
then take a look at the setup.cfg file.
Some of the options available in setup.cfg are also available as command line arguments of the build_ext sub-command. For instance you can specify an alternate pg_config version using:
$ python setup.py build_ext --pg-config /path/to/pg_config build
Use python setup.py build_ext --help to get a list of the options supported.
Obtuve la lista de opciones admitidas, pero no estoy seguro de adónde ir desde allí.
jahmed31
Debian/Ubuntu
Pitón 2
sudo apt install libpq-dev python-dev
Pitón 3
sudo apt install libpq-dev python3-dev
Adicional
If none of the above solve your issue, try
sudo apt install build-essential
or
sudo apt install postgresql-server-dev-all
con pepita
Instala el psycopg2-binary
En cambio, el paquete PyPI tiene ruedas de Python para Linux y Mac OS.
pip install psycopg2-binary
-
Yo tuve este problema también. Lamentablemente, con mis paquetes aptos para instalar
python3-dev
no trabajará. Lo que hice fue una permutación de esta respuesta: 1.sudo pip install --upgrade pip
2.sudo apt install -y libpq-dev postgresql-server-dev-all
3.sudo pip3 install psycopg2
No estoy seguro si todossudo
Los de son necesarios pero no me importan asi que los pongo.– Explorador intraestelar
4 de abril de 2019 a las 23:43
-
Para entornos virtuales
pip install psycopg2-binary
es la solucion– YohanK
18 de enero de 2021 a las 9:34
-
tengo ubuntu y esto
sudo apt install libpq-dev python3-dev
funcionó bien para mí, pero no creo que esta sea la forma correcta ya que no está dedicada a mi Virtualenv– sami
15 de febrero a las 21:51
Seph Cordovano
Estaba teniendo este problema porque aún no había instalado PostgreSQL en mi máquina.
Para Mac
brew install postgresql
Para Mac sin cerveza
python3 -m pip install psycopg2-binary
-
Sí, también lo hizo.
–Stiven Ramírez Arango
10 mayo 2021 a las 0:55
-
Esto funcionó para mí en MacOS Big Sur
– Mohit Munjal
26 de enero de 2022 a las 7:07
-
después de buscar durante 2 días, esto funcionó para mí, gracias.
– lolú
15 de febrero de 2022 a las 12:47
sp1111
Si necesita instalar sin compilar:
pip install psycopg2-binary
https://www.psycopg.org/docs/install.html#binary-install-from-pypi
Nota: El paquete psycopg2-binary está diseñado para que los principiantes comiencen a jugar con Python y PostgreSQL sin la necesidad de cumplir con los requisitos de compilación. Si es el mantenedor de un paquete de publicación según psycopg2 no deberías usar ‘psycopg2-binary’ como una dependencia del módulo. Para uso en producción, se recomienda utilizar la distribución de origen.
-
Solución limpia y rápida. No requirió ninguna otra instalación de biblioteca. Gracias.
– Rogervila
2 de septiembre de 2019 a las 7:50
-
De la documentación de psycopg2 (psycopg.org/docs/install.html#binary-install-from-pypi): Nota El paquete psycopg2-binary está diseñado para que los principiantes comiencen a jugar con Python y PostgreSQL sin la necesidad de cumplir con los requisitos de compilación. Si usted es el mantenedor de un paquete de publicación que depende de psycopg2, no debe usar ‘psycopg2-binary’ como una dependencia del módulo. Para uso en producción, se recomienda utilizar la distribución de origen. por favor agregue esto a su respuesta.
–Koen van Zuijlen
25 de marzo de 2020 a las 10:27
-
La mejor opción para una máquina de desarrollo, no es necesario instalar todo el paquete postgresql como sugieren otras respuestas.
– ggat
3 abr a las 22:10
goCards
Si está en Ubuntu o cualquier otra distribución basada en Debian, intente
sudo apt-get install python3-psycopg2
De lo contrario, debe buscar e instalar los paquetes de cliente de Postgresql para su distribución. instalación de psycopg2 desde la fuente
En Macbook con M1 tuve que instalar postgresql
brew install postgresql
(Si no tienes cerveza: https://brew.sh)
luego ejecute la instalación nuevamente
python3 -m pip install psycopg2-binary
FP
Actualizar pip funcionó para mí: pip instalar –actualizar pip
Para OSX con Macports, puede instalar sudo port install py38-psycopg2
para Pitón 3.8. Puede buscar su versión de Python con port search psycopg2
. En el momento de escribir este artículo, las versiones van desde la 2.7 a la 3.9, todas actualizadas con la versión 2.8.6 de psycopg2.
Nota: Esto probablemente no ayudará en un venv.
Editar: Entonces, para encontrar su pg_config para un venv, ejecute el comando port contents postgresql13 | grep pg_config
dónde postgresql13
es la versión del paquete de postgresql instalado desde el comando de puerto anterior. Estás buscando un camino como /opt/local/lib/postgresql13/bin/pg_config
. Exporte eso a su variable PATH con un comando como export PATH=/opt/local/lib/postgresql13/bin/:$PATH
.
Consulte esta respuesta para Homebrew.
¿Responde esto a tu pregunta? no se encuentra el ejecutable pg_config
– Gonçalo Peres
17 oct 2022 a las 12:37