errore shell bash: "nessun file o directory"


17

Sto cercando di installare il wrapper Virtualenv su Ubuntu 14.04. Ma ogni volta che avvio un terminale, viene visualizzato l'errore che dice bash:

/usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh: nessun file o directory.

Ho anche controllato lo script bashrc usando gedit ~/.bashrc, ma non esiste una riga del genere. Qualcuno sa dove sbaglio?


Hai controllato altri file di configurazione come .bash_profilee versioni dell'intero sistema in /etc/?

Sì, ho già controllato .bash_profile, ma è vuoto e non so come controllare / etc /.
Abhishek Singh,

Dovrebbero esserci file globali non nascosti come /etc/bash.bashrc.

Dai un'occhiata a questa fonte chrisstrelioff.ws/sandbox/2014/09/04/… che può aiutarti con qualche idea.
vembutech,

@vembutech Ho controllato il link sopra, ma non mi è stato d'aiuto. Ho già aggiunto il percorso del mio virtualenvwrapper.sh nel mio bashrc. Ma non ho trovato alcun percorso come ho descritto sopra nella mia domanda. Ogni volta che ho provato source ~ / .bashrc, dà l'errore sopra
Abhishek Singh

Risposte:


20

Ho appena avuto lo stesso problema su Linux Mint.

Il seguente file stava causando il problema: /etc/bash_completion.d/virtualenvwrapper

Ho fatto un backup (per ogni evenienza) e l'ho eliminato, e tutto sembra funzionare bene ora.


1
Ha funzionato per me (+1).
FractalSpace

Ha funzionato per me su Ubuntu (+1)
lightong

16

Nel mio caso, avevo precedentemente installato virtualenvwrapper utilizzando apt-get install virtualenvwrappere successivamente disinstallato utilizzando apt-get remove virtualenvwrapper, lasciando /etc/bash_completion.d/virtualenvwrapperindietro il file 'configurazione' . Questa definizione di completamento bash è stata fornita da bash (non aveva nulla a che fare con il mio .bashrc) e ha causato il messaggio di errore.

La soluzione era eseguire:

sudo apt-get purge virtualenvwrapper

Che ha eliminato tutti i file relativi a virtualenvwrapper. Il motivo per cui l'ho disinstallato era usare invece la versione di pip (più aggiornata), che può essere installata a livello globale usando:

sudo pip install virtualenvwrapper

Ho riscontrato questo problema nel sublime testo 3 su OSX durante la creazione di uno script e per risolverlo l'ho appena installato tramite pip come indicato sopra dal tuo comando. Grazie
James Campbell,

Ha funzionato per me su Ubuntu 16.04
Juha Untinen il

5

Seguendo queste istruzioni , ho scoperto che l'errore si è verificato durante il sourcing dello script bash virtualenvwrapper, ovvero:

source /usr/local/bin/virtualenvwrapper.sh

Lo script fa riferimento al file /etc/bash_completion.d/virtualenvwrappercome indicato da arcticfeather.

Apri lo script usando il seguente comando:

sudo nano /etc/bash_completion.d/virtualenvwrapper

Qui è dove si fa riferimento al file inesistente. Sostituisci semplicemente /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.shcon /usr/local/bin/virtualenvwrapper_lazy.she dovresti essere a posto!


1
Non ha funzionato per me.
FractalSpace

1

Se nessuna delle risposte funziona come per me, basta creare un file vuoto nella posizione in cui si genera un errore e lo si scopre.

Nel caso di OP:

sudo nano /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh

e scrivi:

#!/bin/bash

Salvalo e prova ad aprire di nuovo il terminale, ha fatto il trucco per me


1

È possibile installare l'estensione su virtualenv per la gestione di più ambienti virtuali Python ( virtualenvwrapper ) in Ubuntu 14.04 da Ubuntu Software Center o dal terminale usando il comando seguente:

sudo apt install virtualenvwrapper
gedit .bashrc

Aggiungi la seguente riga alla fine di .bashrc.

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

Salvare le modifiche in .bashrc e chiudere gedit. Trova il tuo .bashrc per rendere effettive le modifiche.

cd 
source .bashrc

Non ha funzionato per me.
FractalSpace

0

Spero che aiuti qualcuno, nel mio caso stavo cercando di creare il virtualenv all'interno di uno schermo ( schermo -S qualunque cosa ), la soluzione stava chiudendo lo schermo ed eseguendo nuovamente il comando virtualenv all'esterno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.