Próbuję zainstalować pakiet, który wymaga psycopg2 jako zależności, więc zainstalowałem psycopg2-binary za pomocą pip install psycopg2-binary, ale gdy próbuję pip install django-tenant-schemas otrzymuję ten błąd:

In file included from psycopg/psycopgmodule.c:27:0:
./psycopg/psycopg.h:34:10: fatal error: Python.h: No such file or directory
     #include <Python.h>
              ^~~~~~~~~~
    compilation terminated.

You may install a binary package by installing 'psycopg2-binary' from PyPI.
If you want to install psycopg2 from source, please install the packages required for the build and try again.

For further information please check the 'doc/src/install.rst' file (also at <http://initd.org/psycopg/docs/install.html>).

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

ERROR: Command errored out with exit status 1: 
/home/david/PycharmProjects/clearpath/venv/bin/python -u 
-c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ckbbq00w/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ckbbq00w/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install
--record /tmp/pip-record-pi6j7x5l/install-record.txt
--single-version-externally-managed
--compile
--install-headers /home/david/PycharmProjects/clearpath/venv/include/site/python3.7/psycopg2 Check the logs for full command output.

Kiedy wchodzę do ustawień repozytorium moich projektów (używając PyCharm), widzę, że psycopg2-binary jest zainstalowany. Zakładam, że ma to coś wspólnego z PATH, ale nie wiem, jak rozwiązać ten problem.

which psql: / usr / bin / psql

which pg_config: / usr / bin / pg_config

Nie czuję się komfortowo, robiąc wiele ze zmiennymi środowiskowymi, ponieważ naprawdę nie chcę czegoś zepsuć.

0
David Alford 20 listopad 2019, 19:35
Czy masz zainstalowany gcc?
 – 
Laurenz Albe
20 listopad 2019, 19:53
Tak. gcc --version: gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
 – 
David Alford
20 listopad 2019, 19:57
Ahh! Cofnę usunięcie. Bardzo dziękuję za powiadomienie mnie o tym.
 – 
David Alford
20 listopad 2019, 21:35
Nie zostanie usunięty.
 – 
David Alford
20 listopad 2019, 21:37

2 odpowiedzi

Wygląda na to, że próbujesz zainstalować pscopg2 i może to spowodować problem, jeśli psycopg2-binary jest już zainstalowany

Oto twoje logi w kilku wierszach:

ERROR: Command errored out with exit status 1: 
/home/david/PycharmProjects/clearpath/venv/bin/python -u 
-c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ckbbq00w/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ckbbq00w/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install
--record /tmp/pip-record-pi6j7x5l/install-record.txt
--single-version-externally-managed
--compile
--install-headers /home/david/PycharmProjects/clearpath/venv/include/site/python3.7/psycopg2 Check the logs for full command output.

Spróbowałbym odinstalować psycopg2-binary, a następnie ponownie zainstalować django-tenant-schemas

0
Thomas B 20 listopad 2019, 20:06

Problem wydawał się być złą instalacją libpq-fe-h, którą naprawiono za pomocą ponownej instalacji. Pytanie zostało rozwiązane tutaj

0
David Alford 20 listopad 2019, 21:37