Bash-Shell-Fehler: "keine solche Datei oder Verzeichnis"

17

Ich versuche Virtualenv Wrapper auf Ubuntu 14.04 zu installieren . Aber wenn ich ein Terminal starte, erhalte ich die Fehlermeldung bash:

/usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh: Keine solche Datei oder kein solches Verzeichnis.

Ich habe auch das bashrc-Skript mit überprüft gedit ~/.bashrc, aber es gibt keine solche Zeile. Weiß jemand wo ich falsch liege?

Abhishek Singh
quelle
Haben Sie andere Konfigurationsdateien wie .bash_profileund systemweite Versionen eingecheckt /etc/?
Ja, ich habe bereits .bash_profile überprüft, aber es ist leer und ich weiß nicht, wie ich / etc / überprüfen soll.
Abhishek Singh
Es sollte nicht versteckte globale Dateien als geben /etc/bash.bashrc.
Werfen Sie einen Blick auf diese Quelle chrisstrelioff.ws/sandbox/2014/09/04/…, die Ihnen bei einigen Ideen behilflich sein kann.
Vembutech
@vembutech Ich habe den obigen Link überprüft, aber es hat nicht geholfen. Ich habe bereits den Pfad meiner virtualenvwrapper.sh in meinem bashrc hinzugefügt. Aber ich habe keinen Weg gefunden, wie ich ihn oben in meiner Frage beschrieben habe. Wann immer ich versucht habe, Quelle ~ / .bashrc, gibt es den obigen Fehler
Abhishek Singh

Antworten:

20

Ich hatte gerade das gleiche Problem unter Linux Mint.

Die folgende Datei verursachte das Problem: /etc/bash_completion.d/virtualenvwrapper

Ich habe ein Backup erstellt (nur für den Fall) und es gelöscht, und jetzt scheint alles gut zu funktionieren.

arktische Feder
quelle
1
Arbeitete für mich (+1).
FractalSpace
Arbeitete für mich auf Ubuntu (+1)
Lightsong
16

In meinem Fall hatte ich zuvor virtualenvwrapper mit installiert apt-get install virtualenvwrapperund später mit deinstalliert apt-get remove virtualenvwrapper, wodurch die Konfigurationsdatei /etc/bash_completion.d/virtualenvwrapperzurückblieb. Diese Bash-Vervollständigungsdefinition wurde von Bash bezogen (sie hatte nichts mit meinem .bashrc zu tun) und verursachte die Fehlermeldung.

Die Lösung lautete:

sudo apt-get purge virtualenvwrapper

Welches löschte alle Dateien im Zusammenhang mit virtualenvwrapper. Der Grund, warum ich es deinstalliert habe, war, stattdessen die aktuellere Version von pip zu verwenden, die global installiert werden kann:

sudo pip install virtualenvwrapper
user30747
quelle
Ich hatte dieses Problem in sublime Text 3 unter OSX, als ich ein Skript erstellte, und um es zu lösen, habe ich es einfach über Pip installiert, wie Ihr Befehl oben angibt. Vielen Dank
James Campbell
Arbeitete für mich auf Ubuntu 16.04
Juha Untinen
5

Nach diesen Anweisungen stellte ich fest, dass der Fehler beim Aufrufen des Virtualenvwrapper-Bash-Skripts auftrat.

source /usr/local/bin/virtualenvwrapper.sh

Das Skript verweist auf die Datei /etc/bash_completion.d/virtualenvwrapper, auf die arcticfeather hingewiesen hat.

Öffnen Sie das Skript mit dem folgenden Befehl:

sudo nano /etc/bash_completion.d/virtualenvwrapper

Hier wird auf die nicht vorhandene Datei verwiesen. Ersetzen Sie einfach /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.shmit /usr/local/bin/virtualenvwrapper_lazy.shund Sie sollten gut zu gehen!

Michael Hays
quelle
1
Hat bei mir nicht funktioniert.
FractalSpace
1

Wenn keine der Antworten wie bei mir funktioniert, erstellen Sie einfach eine leere Datei an der Stelle, die einen Fehler ausgibt, und legen Sie los.

Im Falle von OP:

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

und schreibe:

#!/bin/bash

Speichern Sie es und versuchen Sie erneut, das Terminal zu öffnen

Ritiek
quelle
1

Sie können Extension to virtualenv für die Verwaltung mehrerer virtueller Python-Umgebungen ( virtualenvwrapper ) in Ubuntu 14.04 vom Ubuntu Software Center oder vom Terminal aus mit dem folgenden Befehl installieren :

sudo apt install virtualenvwrapper
gedit .bashrc

Fügen Sie die folgende Zeile am Ende von .bashrc hinzu.

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

Speichern Sie die Änderungen an .bashrc und schließen Sie gedit. Beschreiben Sie Ihre .bashrc-Datei, damit die Änderungen wirksam werden.

cd 
source .bashrc
karel
quelle
Hat bei mir nicht funktioniert.
FractalSpace
0

Ich hoffe, es hilft jemandem, in meinem Fall habe ich versucht, die virtuelle Umgebung innerhalb eines Bildschirms zu erstellen ( Bildschirm - was auch immer ), die Lösung hat den Bildschirm geschlossen und den Befehl virtualenv erneut außerhalb ausgeführt.

Jonathan Arias
quelle