Python 3.7.5 + Postgresql

Problemi con l'installazione di pacchetti
Rispondi
Avatar utente
PallaBall
Full Member
Full Member
Messaggi: 140
Iscritto il: 14/06/2008, 18:40
Località: Italia
Contatta:

Python 3.7.5 + Postgresql

Messaggio da PallaBall »

Salve a tutti,
ho un problema con il pip install di un progetto python.
Mi trovo su un'installazione di Debian 10 pulita.

Ecco cosa ho fatto e l'errore:
  • ho installato PostgreSQL - 12 seguendo questa guida https://codingpub.dev/ubuntu-install-po ... d-pgadmin/
    ho installato Python 3.7.5 scaricando il targz ed eseguento il configure, make e make install
    ho creato il venv del progetto su una directory dedicata tramite Pycharm puntando all'installazione del Python-3.7.5 installato
quando eseguo il comando pip install -r requirements.txt ho il seguente errore:

Codice: Seleziona tutto

Using cached psycopg2-2.8.6.tar.gz (383 kB)
    ERROR: Command errored out with exit status 1:
     command: /home/palla/Documents/Fusilli/src/fusilli-backend-module/venv/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-lwh6v20e/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-lwh6v20e/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-pip-egg-info-mn1tp3ww
         cwd: /tmp/pip-install-lwh6v20e/psycopg2/
    Complete output (7 lines):
    running egg_info
    creating /tmp/pip-pip-egg-info-mn1tp3ww/psycopg2.egg-info
    writing /tmp/pip-pip-egg-info-mn1tp3ww/psycopg2.egg-info/PKG-INFO
    writing dependency_links to /tmp/pip-pip-egg-info-mn1tp3ww/psycopg2.egg-info/dependency_links.txt
    writing top-level names to /tmp/pip-pip-egg-info-mn1tp3ww/psycopg2.egg-info/top_level.txt
    writing manifest file '/tmp/pip-pip-egg-info-mn1tp3ww/psycopg2.egg-info/SOURCES.txt'
    Error: b'You need to install postgresql-server-dev-NN for building a server-side extension or libpq-dev for building a client-side application.\n'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Come posso procedere per eseguire il mio progetto python?

Da notare che ho eseguito l'installazione di libpq-dev come richiesto, ma ho il seguente errore:

Codice: Seleziona tutto

sudo apt-get install libpq-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libpq-dev : Depends: libpq5 (= 11.9-0+deb10u1) but 13.0-1.pgdg100+1 is to be installed
E: Unable to correct problems, you have held broken packages.
Tutti sanno che una cosa è impossibile da realizzare, finchè arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)
Immagine Immagine
s3v
Global Moderator
Global Moderator
Messaggi: 5914
Iscritto il: 31/12/2008, 11:54

Re: Python 3.7.5 + Postgresql

Messaggio da s3v »

The following packages have unmet dependencies:
libpq-dev : Depends: libpq5 (= 11.9-0+deb10u1) but 13.0-1.pgdg100+1 is to be installed
E: Unable to correct problems, you have held broken packages.
Non ho capito come hai fatto ad installare PostgreSQL 12 su Buster. Qual è il contenuto del file "/etc/apt/sources.list"?
Inoltre, sempre su Buster (Debian 10), c'è Python 3.7.3.
Se non hai esigenze particolari, ti consiglio di usare Python 3.7.3 + PostgreSQL 11 già pacchettizzati per Debian 10 senza il bisogno di dover compilare roba.
Avatar utente
PallaBall
Full Member
Full Member
Messaggi: 140
Iscritto il: 14/06/2008, 18:40
Località: Italia
Contatta:

Re: Python 3.7.5 + Postgresql

Messaggio da PallaBall »

Postgresql 12 l'ho installato per compatibilità di progetto, come la versione di Python.

Per abitudine progettuale di lavoro tendo a compilare il python di interesse e di creare il relativo venv sul progetto perchè ho progetti in Python 3.5, 3.7 e 3.8 che sto seguendo in ambito lavorativo.

Comunque dovrei aver risolto come una disinstallazione di Postgresql e di Python e successivamente ho reinstallato Pyton dai pacchetti ufficiali e la libreria libpq-dev, poi ho installato Postgresql e alla fine ho eseguito il make del Python 3.7.5

Questo è il source list per pgadmin:

Codice: Seleziona tutto

deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/buster pgadmin4 main
questo invece è il source list generale che ho in apt/source.list

Codice: Seleziona tutto

# 

# deb cdrom:[Debian GNU/Linux 10.6.0 _Buster_ - Official amd64 NETINST 20200926-10:16]/ buster main

# deb cdrom:[Debian GNU/Linux 10.6.0 _Buster_ - Official amd64 NETINST 20200926-10:16]/ buster main

deb http://ftp.it.debian.org/debian/ buster main contrib non-free
deb-src http://ftp.it.debian.org/debian/ buster main contrib non-free

deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

# buster-updates, previously known as 'volatile'
deb http://ftp.it.debian.org/debian/ buster-updates main contrib non-free
deb-src http://ftp.it.debian.org/debian/ buster-updates main contrib non-free

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
deb [arch=amd64] https://download.docker.com/linux/debian buster stable
# deb-src [arch=amd64] https://download.docker.com/linux/debian buster stable
Tutti sanno che una cosa è impossibile da realizzare, finchè arriva uno sprovveduto che non lo sa e la inventa. (Albert Einstein)
Immagine Immagine
Rispondi