Estoy trabajando en el proyecto Django con virtualenv y lo conecto a la base de datos local de postgres. cuando ejecuto el proyecto dice:
ImportError: No module named psycopg2.extensions
entonces usé este comando para instalar
pip install psycopg2
entonces durante la instalación da el siguiente error.
Downloading/unpacking psycopg2==2.4.4
Downloading psycopg2-2.4.4.tar.gz (648kB): 648kB downloaded
Running setup.py (path:/home/muhammadtaqi/Projects/MyProjects/OnlineElectionCampaign/venv/build/psycopg2/setup.py) egg_info for package psycopg2
Error: You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Complete output from command python setup.py egg_info:
running egg_info
creating pip-egg-info/psycopg2.egg-info
writing pip-egg-info/psycopg2.egg-info/PKG-INFO
writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
Error: You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/muhammadtaqi/Projects/MyProjects/OnlineElectionCampaign/venv/build/psycopg2
Storing debug log for failure in /home/muhammadtaqi/.pip/pip.log
python
django
postgresql
Muhammad Taqi
fuente
fuente
postgresql-server-X.Y
sí sola no ayudaría, porque eso solo instala los archivos binarios, las bibliotecas y los archivos de datos del servidor, no los archivos de desarrollo (que se encuentran en el paquete mencionado anteriormente).Respuestas:
Utilice estos siguientes comandos, esto resolverá el error:
luego fuego:
y última:
fuente
sudo apt-get install python-dev
para que finalmente funcionarasudo apt-get install libpq-dev
¡trabajó para mi!sudo apt-get install python3-psycopg2
para agregar a python3Acabo de ejecutar este comando como root desde la terminal y el problema está resuelto,
o
fuente
libpq-dev
epython-dev
hice magia necesariapostgis
? wootSimplemente instale libpq-dev
fuente
Para mí, este simple comando resolvió el problema:
Entonces puedo hacer:
fuente
Para Python 3, hice:
y luego pude hacer:
fuente
Cambiaron el empaque para psycopg2. Instalar la versión binaria solucionó este problema para mí. Las respuestas anteriores aún se mantienen si desea compilar el binario usted mismo.
Ver http://initd.org/psycopg/docs/news.html#what-s-new-in-psycopg-2-8 .
Y http://initd.org/psycopg/docs/install.html#binary-install-from-pypi
Entonces, si no necesita compilar su propio binario, use:
fuente
psycopg2-binary
no debe usarse en producción, ya que provocará algunos errores.psycopg2-binary
no debe usarse en producción: initd.org/psycopg/docs/install.html#binary-install-from-pypi (Texto copiado: el paquete psycopg2-binary está diseñado para que los principiantes comiencen a jugar con Python y PostgreSQL sin la necesidad de cumpla con los requisitos de compilación. Si usted es el encargado de mantener un paquete de publicación que depende de psycopg2, no debe usar 'psycopg2-binary' como una dependencia del módulo. Para el uso en producción, se recomienda usar la distribución de origen.)Debe configurar postgresql-server-dev-XY, donde XY es la versión de sus servidores, e instalará libpq-dev y otras variables de servidores en los módulos para el desarrollo del lado del servidor. En mi caso fue
En tu caso
fuente
Estaba usando un entorno virtual en Ubuntu 18.04, y como solo quería instalarlo como cliente, solo tenía que hacer:
E instalado sin problemas. Por supuesto, puede usar el binario como dicen otras respuestas, pero prefiero esta solución ya que se indicó en un archivo require.txt.
fuente