python - pyplot - type of plots matplotlib




Lo script Python fornisce `: Nessun file o directory simile (3)

È inoltre possibile utilizzare il comando dos2unix per convertire il formato del file

dos2unix

Questo mi ha aiutato a eseguire gli script Python

Ciò accade normalmente quando apriamo i file in Windows e apportiamo modifiche e salviamolo. se apri il file, individua i caratteri ^ M alla fine di ogni riga

Grazie

Ho diversi script Python che funzionano bene ma uno script (a partire da questa mattina) ha iniziato a darmi questo errore se provo a eseguirlo dalla bash:

: Nessun file o directory con questo nome

Sono in grado di eseguire lo script 'broken' eseguendo python script_name.py e dopo aver guardato un po 'l'idea generale che ho raccolto è che forse la mia fine linea dell'hashbang è stata cambiata (in silenzio), quindi ho guardato la fine della riga di uno script funzionante e uno script interrotto tramite l'opzione :set list in VI come indicato in questa domanda -> Visualizza terminazioni di riga in un file di testo

Entrambi i file sembrano finire con lo stesso personaggio (a $ ), quindi sono piuttosto incerto su come procedere da qui. Nello specifico, come effettivamente "vedere" la linea che termina nel caso in cui la set list non fosse il metodo giusto.

PS: Lo script è eseguibile e lo shebang è lì, ho dichiarato che è solo questo 1 script che stava funzionando bene prima del weekend, ma ha iniziato a darmi questo errore stamattina.

-- modificare: --

L'esecuzione dello script tramite dos2unix fa funzionare di nuovo, ma mi piacerebbe sapere in qualsiasi modo visualizzare la linea che termina in qualche modo in VI (M) o perché Geany in qualche modo ha convertito le terminazioni di linea in primo luogo (dato che non lavoro mai su un dos / Windows System comunque).


Dai commenti sopra sembra che tu abbia terminazioni di linea, e quindi la riga di hashbang non viene elaborata correttamente.

Lo stile finale della linea non è mostrato con :set list in Vim perché quell'opzione è usata solo durante la lettura / scrittura del file. In linea di fondo le terminazioni sono sempre così, line-desinenze. Lo stile di fine riga usato per un file viene mantenuto in un'opzione per file Vim, chiamata stranamente fileformat .

Per vedere / modificare lo stile di fine linea da Vim, puoi usare i seguenti comandi:

:set fileformat
:set ff

Mostrerà dos o unix . Vuoi unix , ovviamente ;-).

Per cambiarlo rapidamente puoi salvare il file con:

:w ++ff=unix

O se preferisci:

:set ff=unix

E quindi salvare il file normalmente.

Quindi vedi tutti i dettagli cruenti che fai :help fileformat :help file-formats e :help fileformats


Personalmente, trovo che sia sbagliato usare il percorso diretto all'interprete python. Siccome non usi la piattaforma Windows, dovresti avere programma env, solitamente in / usr / bin (/ usr / bin / env). Prova ad usare il seguente shebang:

#!/usr/bin/env python

Diverse distro immagazzinano il binario python in / bin o / usr / bin (o in qualche luogo strano), e questo rende il tuo script indipendente dalla configurazione (per quanto possibile, qui abbiamo la possibilità che env sia memorizzato altrove, tuttavia - è meno possibile che env non sia in / usr / bin di quello che python è stato errato).

Ho avuto un problema simile (se non esattamente lo stesso) e questo ha funzionato per me.

Inoltre, ho entrambi gli interpreti python (2.7.xe 3.x) installati, quindi ho bisogno di usare l'argomento "python3" per env. Solitamente le distro di AFAIR collegano nomi diversi a binari diversi, quindi "env python" eseguirà python2.7 sul mio sistema, "env python3" (anche python33, o smth del genere) eseguirà p3k e "env python2" (anche python27, ecc) eseguirà python 2.7.x. Dichiarare quale versione di interprete dovrebbe essere usata sembra anche una buona idea.







hashbang