trasferire programma in python da un server ubuntu ad un altro

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Scrivi risposta
Giovy_87
Prode Principiante
Messaggi: 5
Iscrizione: mercoledì 5 aprile 2023, 9:10
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

trasferire programma in python da un server ubuntu ad un altro

Messaggio da Giovy_87 »

buongiorno a tutti.
sono nuovo nel mondo di ubuntu, ho un server ubuntu 22.04 su digitalocean dove gira un programma in python è funziona correttamente. devo trasferire questo programma in un nuovo server, ho gia configurato il nuovo server installato python (stessa versione) ed ho copiato la cartella del programma e le librerie di python ma ovviamente non funziona, mi da una serie di errori. sicuramente devo configurare/importare altro.
ecco parte degli errori:

self.connection = future_engine.connect()
File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/future/engine.py", line 406, in connect
return super(Engine, self).connect()
File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 3315, in connect
return self._connection_cls(self, close_with_result=close_with_result)
File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 96, in __init__
else engine.raw_connection()
File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 3394, in raw_connection
return self._wrap_pool_connect(self.pool.connect, _connection)
File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 3364, in _wrap_pool_connect

potete aiutarmi?
grazie mille
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5394
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da GjMan78 »

Penso ti manchi sqlalchemy sul nuovo server.

Codice: Seleziona tutto

pip install sqlalchemy
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Giovy_87
Prode Principiante
Messaggi: 5
Iscrizione: mercoledì 5 aprile 2023, 9:10
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da Giovy_87 »

GjMan78 ha scritto:
mercoledì 5 aprile 2023, 9:42
Penso ti manchi sqlalchemy sul nuovo server.

Codice: Seleziona tutto

pip install sqlalchemy
Requirement already satisfied: sqlalchemy in /usr/local/lib/python3.10/dist-packages (1.4.45)
Requirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.10/dist-packages (from sqlalchemy) (2.0.1)
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5394
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da GjMan78 »

L'errore che mostra è comunque relativo a sqlalchemy.

Sei sicuro di averlo configurato a dovere? Per quel poco che so si tratta di un framework per connettersi ad un DB, hai impostato correttamente le credenziali d'accesso?
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Giovy_87
Prode Principiante
Messaggi: 5
Iscrizione: mercoledì 5 aprile 2023, 9:10
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da Giovy_87 »

bella domanda, ho seguito un tutorial inviato da chi mi ha fatto il programma per istallare postgresql su ubuntu. hai ragione perchè l'ultima riga d'errore è :
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"
connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"

sai come e dove inserire le credenziali?
Avatar utente
OMBRA_Linux
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2696
Iscrizione: mercoledì 18 febbraio 2015, 14:24
Desktop: HP / Lenovo / Samsung
Distribuzione: Android / Linux / Windows10-11
Sesso: Maschile
Località: Napoli

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da OMBRA_Linux »

Che io sappia basta installare Python sul Pc e trasferire il programma e dovrebbe funzionare.
Ma con quale versione Python è fatto il programma, perchè potrebbe esserci bisogno di una ricompilazione del codice.
Se per vivere devi strisciare, alzati e muori.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5394
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da GjMan78 »

Giovy_87 ha scritto:
mercoledì 5 aprile 2023, 10:46
bella domanda, ho seguito un tutorial inviato da chi mi ha fatto il programma per istallare postgresql su ubuntu. hai ragione perchè l'ultima riga d'errore è :
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"
connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"

sai come e dove inserire le credenziali?
È probabile che siano inserite nel codice.
Sul nuovo server hai inizializzato un nuovo database oppure hai copiato quello che usi sul vecchio server?

Qui c'è la documentazione https://docs.sqlalchemy.org/en/14/orm/t ... connecting
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1624
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da nuzzopippo »

Giovy_87 ha scritto:
mercoledì 5 aprile 2023, 10:46
connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"
sai come e dove inserire le credenziali?
Sono estremamente arrugginito ed arretrato su prostgresql (ultima versione utilizzata è stata la 8.qualcosa) ma, se ricordo bene, di default non si poteva accedere direttamente all'utente postgres, indipendentemente da altre considerazioni, suggerirei una verifica iniziale, da terminale localizza il file di configurazione:

Codice: Seleziona tutto

NzP:~$ locate pg_hba.conf
/etc/postgresql/12/main/pg_hba.conf
/usr/share/postgresql/12/pg_hba.conf.sample
NzP:~$
e quindi fatti un cat per vedere cosa c'è impostato correntemente

Codice: Seleziona tutto

NzP:~$ sudo cat /etc/postgresql/12/main/pg_hba.conf
[sudo] password di nuzzopippo: 
# PostgreSQL Client Authentication Configuration File
... Depurato dalle indicazioni di guida
# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5
NzP:~$
La situazione sopra è quella di default base non modificata, se hai una situazione analoga verifica se il server postgres on line

Codice: Seleziona tutto

NzP:~$ systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enab>
     Active: active (exited) since Wed 2023-04-05 14:21:32 CEST; 41min ago
    Process: 1260 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 1260 (code=exited, status=0/SUCCESS)
        CPU: 1ms

apr 05 14:21:32 ng systemd[1]: Starting PostgreSQL RDBMS...
apr 05 14:21:32 ng systemd[1]: Finished PostgreSQL RDBMS.
NzP:~$ 

e quindi prova a passare all'utente postgresql

Codice: Seleziona tutto

NzP:~$ sudo su postgres
postgres@ng:/home/nuzzopippo$
e quindi prova ad aprire una sessione psql su uno dei database di default e vedere quali database hai in linea

Codice: Seleziona tutto

postgres@ng:/home/nuzzopippo$ psql template1
psql (14.7 (Ubuntu 14.7-0ubuntu0.22.04.1), server 12.12 (Ubuntu 12.12-0ubuntu0.20.04.1))
Type "help" for help.

template1=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | it_IT.UTF-8 | it_IT.UTF-8 | 
 template0 | postgres | UTF8     | it_IT.UTF-8 | it_IT.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | it_IT.UTF-8 | it_IT.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

template1-# \q
postgres@ng:/home/nuzzopippo$ exit
exit
NzP:~$
Tutta 'sta tiritera è fatta in considerazione che, di default, l'utente "postgresql" non ha password e si può accedere a tale utente solo da super-utente, gli utenti ordinari non possono farlo.

Non so come funzioni il Tuo programma, dovresti vedere un po' la sua documentazione, personalmente quando utilizzavo postgresql passavo solo una volta all'utente postgresql, definivo un utente in grado di creare database e nuovi utenti e poi utilizzavo quest'ultimo utente (di norma sul sistema) per le successive fasi di permesso e creazione dei database, poi passavo a configurare i permessi di accesso per utenti/database/hosts.
Se il Tuo programma richiede "proprio" l'utente "postgresql" è un conto, altrimenti credo Ti sia opportuno studiare un sistema di permessi adeguato alle Tue esigenze-

Ciao
Fatti non foste a viver come bruti ...
Giovy_87
Prode Principiante
Messaggi: 5
Iscrizione: mercoledì 5 aprile 2023, 9:10
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da Giovy_87 »

OMBRA_Linux ha scritto:
mercoledì 5 aprile 2023, 13:25
Che io sappia basta installare Python sul Pc e trasferire il programma e dovrebbe funzionare.
Ma con quale versione Python è fatto il programma, perchè potrebbe esserci bisogno di una ricompilazione del codice.
la versione è la 3 ed è la stessa che ho installato sul nuovo server
Giovy_87
Prode Principiante
Messaggi: 5
Iscrizione: mercoledì 5 aprile 2023, 9:10
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da Giovy_87 »

GjMan78 ha scritto:
mercoledì 5 aprile 2023, 14:21
Giovy_87 ha scritto:
mercoledì 5 aprile 2023, 10:46
bella domanda, ho seguito un tutorial inviato da chi mi ha fatto il programma per istallare postgresql su ubuntu. hai ragione perchè l'ultima riga d'errore è :
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"
connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"

sai come e dove inserire le credenziali?
È probabile che siano inserite nel codice.
Sul nuovo server hai inizializzato un nuovo database oppure hai copiato quello che usi sul vecchio server?

Qui c'è la documentazione https://docs.sqlalchemy.org/en/14/orm/t ... connecting
inizializzato un nuovo database seguendo una guida sul sito digitalocean
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5394
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da GjMan78 »

Giovy_87 ha scritto:
giovedì 6 aprile 2023, 0:46
GjMan78 ha scritto:
mercoledì 5 aprile 2023, 14:21
Giovy_87 ha scritto:
mercoledì 5 aprile 2023, 10:46
bella domanda, ho seguito un tutorial inviato da chi mi ha fatto il programma per istallare postgresql su ubuntu. hai ragione perchè l'ultima riga d'errore è :
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"
connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"

sai come e dove inserire le credenziali?
È probabile che siano inserite nel codice.
Sul nuovo server hai inizializzato un nuovo database oppure hai copiato quello che usi sul vecchio server?

Qui c'è la documentazione https://docs.sqlalchemy.org/en/14/orm/t ... connecting
inizializzato un nuovo database seguendo una guida sul sito digitalocean
ok, bene.

Hai fatto i controlli suggeriti da @nuzzopippo?
Ora è importante valutare se postgresql sta funzionando a dovere o meno, per capire se il problema è nei permessi dell'utente del DB o no.
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
Alien321
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1388
Iscrizione: sabato 20 maggio 2006, 20:39
Desktop: KDE 5.16.4
Distribuzione: KDE Neon
Località: Venere

Re: trasferire programma in python da un server ubuntu ad un altro

Messaggio da Alien321 »

Giovy_87 ha scritto:
mercoledì 5 aprile 2023, 10:46
bella domanda, ho seguito un tutorial inviato da chi mi ha fatto il programma per istallare postgresql su ubuntu. hai ragione perchè l'ultima riga d'errore è :
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"
connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "postgres"

sai come e dove inserire le credenziali?
Non hai configurato correttamente postgresql, stai attento che postgresql di default sulle Debian based è configurato a schifo dal mio punto di
vista, i file di configurazione sono dentro /etc/postgresql invece di risiedere con il database

devi trovare il pg_hba.conf e aggiungere un regole per abilitare la connessione del utente postgres come trust per localhost (così non chiede la password) o
in alternativa creare un utente differente con password ma poi devi settare questa password dentro il programma
Spoiler
Mostra
Finalmente è finito carnevale, anche se vedo ancora gente in maschera
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 11 ospiti