Pagina 1 di 2
errore geany python
Inviato: mercoledì 4 gennaio 2023, 1:28
da maresama
ho installato in prova Mint 20
quando tento di eseguire un programma ,py geany non lo fa eseguire e dice:
/tmp/geany_run_script_6E8IY1.sh: 7: python: not found
però io ho visto che python è regolarmente installato nelle due versioni 2.7 e 3
Cosa si deve fare?
grazie
Re: errore geany python
Inviato: mercoledì 4 gennaio 2023, 9:21
da korda
Prima di tutto che cosa c'è scritto nel file /tmp/geany_run_script_6E8IY1.sh?
Re: errore geany python
Inviato: mercoledì 4 gennaio 2023, 20:18
da maresama
Ho reinstallato Mint 21
ho installato diverse applicazioni tramite il gestore applicazioni tra le quali anche python 2.7
ho verificato le versioni python:
python3 3.10.6
python2.7 2.7.18
se faccio: python2.7 /home/........./programma.py il programma viene eseguito regolarmente
se uso geany e lancio il programma, non succede niente e non segnala nulla. Legge il programma perche segnala che l'ha salvato, ma poi non l'esegue
Quindi mi sembra che il problema sia in geany al quale in qualche modo si deve dire quale python usare
poiche se lancio il programma non fa nulla, penso che non usi neppure python3 perchè mi avrebbe dato qualche errore
Spero che qualcuno sappia cosa fare.
grazie
Re: errore geany python
Inviato: giovedì 5 gennaio 2023, 23:18
da maresama
Ho cercato di fare il punto sulla situazione:
--- controllato esistenza python:
giorgio@giorgio-ProLiant-MicroServer:~$ python3 --version
Python 3.10.6
giorgio@giorgio-ProLiant-MicroServer:~$ python2 --version
Python 2.7.18
---- provato ad eseguire un programma python
giorgio@giorgio-ProLiant-MicroServer:~$ /home/giorgio/MIEI-PROG/xxx.py
/usr/bin/env: "python": File o directory non esistente
---- visualizzo cosa c'è in /usr/bin
/usr/bin/2to3-2.7
---- questo è il contenuto
#! /usr/bin/python2.7
import sys
from lib2to3.main import main
sys.exit(main("lib2to3.fixes"))
----
---- provato ad eseguire un programma python premettendo python2
giorgio@giorgio-ProLiant-MicroServer:~$ python2 /home/giorgio/xxx.py
cosi funziona !!!
Ne concludo che il problema è fare in modo che python deve diventare python2
Ma come si fa ?
---- Ho provato con
giorgio@giorgio-ProLiant-MicroServer:~$ apt install python-is-python2
[sudo] password di giorgio:
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze... Fatto
Lettura informazioni sullo stato... Fatto
Il pacchetto python-is-python2 non ha versioni disponibili, ma è nominato da un altro
pacchetto. Questo potrebbe indicare che il pacchetto è mancante, obsoleto
oppure è disponibile solo all'interno di un'altra sorgente
Tuttavia questi pacchetti lo sostituiscono:
python-is-python3
E: Il pacchetto "python-is-python2" non ha candidati da installare
Non ci capisco più niente!
forse è quel 2to3-2.7 che non va. Qualche suggerimento?
Re: errore geany python
Inviato: venerdì 6 gennaio 2023, 12:18
da ivantu
korda ha scritto: ↑mercoledì 4 gennaio 2023, 9:21
Prima di tutto che cosa c'è scritto nel file
/tmp/geany_run_script_6E8IY1.sh?
è già stato dato istruzioni da fare,
con il terminale posta qui l'output al comando seguente.
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 21:48
da maresama
comando suggerito non va:
giorgio@giorgio-ProLiant-MicroServer:~$ cat -n /tmp/geany_run_script_6E8IY1.sh
cat: /tmp/geany_run_script_6E8IY1.sh: File o directory non esistente
Però per me non è un problema di geany perche anche eseguendo il programma direttamente non riesce a trovare Python
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 22:09
da maresama
Però visto che avevo reinstallato ho richiamato geany e la segnalazione è leggermente diversa
così ho ridato nuovamente il comando cat con l'indirizzo nuovo.
il risultato è questo
giorgio@giorgio-ProLiant-MicroServer:~$ cat -n /tmp/geany_run_script_3HHJY1.sh: 7: python: not found
cat: '/tmp/geany_run_script_3HHJY1.sh:': File o directory non esistente
cat: '7:': File o directory non esistente
cat: 'python:': File o directory non esistente
cat: not: File o directory non esistente
cat: found: File o directory non esistente
comunque ho visto che l'indirizzo è diverso ogni volta che eseguo con geany
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 22:12
da ivantu
Ridai il comando soltanto con geany avviato...
Un dubbio,
perché il file sta in /tmp/?
Non è che per caso, avvii o utilizzi geany da pacchetti compressi, ancora da scompattare?
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 22:20
da maresama
giorgio@giorgio-ProLiant-MicroServer:~$ cat -n /tmp/geany_run_script_UUH6X1.sh
cat: /tmp/geany_run_script_UUH6X1.sh: File o directory non esistente
con geany aperto, Non cambia nulla
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 22:25
da maresama
uso geany normalmente. visualizzo la dir con i programmi e clicco su uno di essi (come ho sempre fatto su mint 19.3). Parte geany con il programma scelto
Eseguo da geany: resta il programma in vista ma non lo esegue. Sul terminale trovo l'errore. (Naturalmente ho provato con diversi programmi.
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 22:30
da maresama
Ma a mio avviso non trova Python come non lo trova un programma chiamato direttamente da terminale (quindi non tramite geany)
Il problema è che ci sono 2 versioni di python e in qualche punto ci deve essere l'ndicazione di quale usare: io penso sia /user/bin
ma non so come agire per impostarlo
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 22:34
da maresama
La riprova è che se eseguo da terminale:
giorgio@giorgio-ProLiant-MicroServer:~$ python2.7 /home/giorgio/MIEI-PROG/XTESTMES.py
il programma viene eseguito correttamente
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 22:38
da ivantu
Impossibile che un sistema crei un file in /tmp, e lo cancelli subito avviato il programma.
I file in /tmp, vengono cancellati con il riavvio del sistema operativo.
Premessa, i file .sh, sono scritti in bash, sh.
I file python, sono scritti in .py, estensione .py
Il problema, è, il file script sh, avvia, dovrebbe avviare python ma non lo trova.
Se cerchi il file .sh, il sistema non trova nemmeno quello.
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 23:09
da korda
ivantu ha scritto: ↑domenica 8 gennaio 2023, 22:38
Impossibile che un sistema crei un file in /tmp, e lo cancelli subito avviato il programma.
I file in /tmp, vengono cancellati con il riavvio del sistema operativo.
Premessa, i file .sh, sono scritti in bash, sh.
I file python, sono scritti in .py, estensione .py
Il problema, è, il file script sh, avvia, dovrebbe avviare python ma non lo trova.
Se cerchi il file .sh, il sistema non trova nemmeno quello.
Sulla
retention dei file temporanei di Geany, o del contenuto del path /tmp in generale, non mi sbilancio: concordo sul fatto che molto probabilmente quel file .sh temporaneo sopravviva un poco di più dell'istante del solo lancio....
Lanciando lo script con
python2 o
python2.7 @maresama conferma che lo script funziona, usando il bash script generato da Geany invece no.
Sembra dunque evidente che sia Geany ad avere problemi con le shabang che genera nei suoi file temporanei.
A questo punto dovresti verificare cosa scrive Geany nello shabang: se scrive qualcosa del tipo
#!/usr/bin/python allora dovresti verificare che punti a Python2 e non a Python3. Cosa dà il comando
python --version?
In soldoni: dovresti trovare il modo di modificare la shabang generata da Geany, lato mio ti
sconsiglierei caldamente di rimappare il link a cui punta
/usr/bin/python
Re: errore geany python
Inviato: domenica 8 gennaio 2023, 23:29
da maresama
Se modifico l'inizio programma indicando pytnon2 anzichè python il programma se lanciato direttamenta va (usando python 2,7),
Se lo uso in geany e da li lo eseguo da il solito errore
Re: errore geany python
Inviato: lunedì 9 gennaio 2023, 2:38
da korda
maresama ha scritto: ↑domenica 8 gennaio 2023, 23:29
Se modifico l'inizio programma indicando pytnon2 anzichè python il programma se lanciato direttamenta va (usando python 2,7),
Se lo uso in geany e da li lo eseguo da il solito errore
Cosa ti restituisce il comando
python --version? Questa sarà la versione che Geany userà nel tuo run script...
In ogni caso si può anche
disabilitare la creazione del run script (è un link vecchiotto ma io non uso più Geany da una vita, uso VSCode e Kate all'occorrenza)
Re: errore geany python
Inviato: lunedì 9 gennaio 2023, 10:51
da ivantu
korda ha scritto: ↑domenica 8 gennaio 2023, 23:09
Sembra dunque evidente che sia Geany ad avere problemi con le shabang che genera nei suoi file temporanei.
@maresama qual'è la versione di Geany installata?
Re: errore geany python
Inviato: lunedì 9 gennaio 2023, 21:16
da maresama
ora non sono sul computer con mint 21 però alla domanda python version avevo già verificato:
giorgio@giorgio-ProLiant-MicroServer:~$ python3 --version
Python 3.10.6
giorgio@giorgio-ProLiant-MicroServer:~$ python2 --version
Python 2.7.18
per la versione di geany è quella installata standard su Mint 21
comunque appena posso sarò più preciso.
Premesso che i programmi per python 2.7 è giusto che inizino con python2 (prima riga), trovo strano che geany questo lo ignori (dovrebbe bastargli visto che ogni programma può essere con python2 o 3. E la prima riga è quella che dichiara il linguaggio (env) ed è solo da quella che può sapere quale tipo di sorgente deve elaborare. (invece è interpretato correttamente lanciando il programma direttamente)
nb: ho anche provato a mettere python2.7 ma non cambia nulla
Re: errore geany python
Inviato: lunedì 9 gennaio 2023, 21:29
da korda
maresama ha scritto: ↑lunedì 9 gennaio 2023, 21:16
ora non sono sul computer con mint 21 però alla domanda python version avevo già verificato:
giorgio@giorgio-ProLiant-MicroServer:~$ python3 --version
Python 3.10.6
giorgio@giorgio-ProLiant-MicroServer:~$ python2 --version
Python 2.7.18
per la versione di geany è quella installata standard su Mint 21
comunque appena posso sarò più preciso.
Premesso che i programmi per python 2.7 è giusto che inizino con python2 (prima riga), trovo strano che geany questo lo ignori (dovrebbe bastargli visto che ogni programma può essere con python2 o 3. E la prima riga è quella che dichiara il linguaggio (env) ed è solo da quella che può sapere quale tipo di sorgente deve elaborare. (invece è interpretato correttamente lanciando il programma direttamente)
nb: ho anche provato a mettere python2.7 ma non cambia nulla
Vedo che non hai compreso...
Non devi dare
python3 --version o
python2 --version,
ma devi dare
python --version: è questo il comando che usa Geany nel run script (e, quindi, la
versione di default di Python impiegata
a meno di specificare se 2 o 3). Geany usa un run script sh in cui lancia una riga del tipo
python script.py, quindi se ne frega allegramente se nello script.py lo shabang sia corretto o meno. Se la riga
python script.py richiama Python3 invece di 2, inevitabilmente il tuo script non funzionerà mai lanciato da dentro Geany.
Re: errore geany python
Inviato: lunedì 9 gennaio 2023, 21:50
da maresama
con dpkg -l geany*
versione 1.38-1
per la versione avevo già provato ma da questo:
giorgio@giorgio-ProLiant-MicroServer:~$ python --version
Comando «python» non trovato, si intendeva forse:
comando «python3» da deb python3
comando «python» da deb python-is-python3
Inoltre se eseguo da geany non fa nulla, ossia non è che esegue con python3 altrimenti il programma partirebbe ma segnalando errori