błąd powłoki bash: „brak takiego pliku lub katalogu”


17

Próbuję zainstalować opakowanie Virtualenv na Ubuntu 14.04. Ale ilekroć uruchamiam terminal, pojawia się komunikat o błędzie:

/usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh: Brak takiego pliku lub katalogu.

Sprawdziłem również skrypt bashrc za pomocą gedit ~/.bashrc, ale nie ma takiej linii. Czy ktoś wie, gdzie się mylę?


Czy sprawdziłeś inne pliki konfiguracyjne, takie jak .bash_profilei wersje systemowe /etc/?

Tak, już sprawdziłem .bash_profile, ale jest pusty i nie wiem jak sprawdzić / etc /.
Abhishek Singh

Powinny istnieć nie ukryte pliki globalne jako /etc/bash.bashrc.

Zajrzyj do tego źródła chrisstrelioff.ws/sandbox/2014/09/04/..., które mogą pomóc ci z jakimś pomysłem.
vembutech

@vembutech Sprawdziłem powyższy link, ale to nie pomogło. Już dodałem ścieżkę do mojego virtualenvwrapper.sh w moim bashrc. Ale nie znalazłem żadnej ścieżki opisanej powyżej w moim pytaniu. Ilekroć próbowałem źródła ~ / .bashrc, daje powyższy błąd
Abhishek Singh

Odpowiedzi:


20

Właśnie miałem ten sam problem na Linux Mint.

Przyczyną problemu był następujący plik: /etc/bash_completion.d/virtualenvwrapper

Zrobiłem kopię zapasową (na wszelki wypadek) i usunąłem ją, i wydaje się, że wszystko działa teraz dobrze.


1
Pracował dla mnie (+1).
FractalSpace,

Pracowałem dla mnie na Ubuntu (+1)
świetlny śpiew

16

W moim przypadku wcześniej zainstalowałem virtualenvwrapper za pomocą, apt-get install virtualenvwrappera później odinstalowałem go za pomocą apt-get remove virtualenvwrapper, co pozostawiło plik „konfiguracji” /etc/bash_completion.d/virtualenvwrapperza sobą. Ta definicja zakończenia bash pochodzi z bash (nie miała nic wspólnego z moim .bashrc) i spowodowała komunikat o błędzie.

Rozwiązaniem było uruchomienie:

sudo apt-get purge virtualenvwrapper

Które wyczyściło wszystkie pliki związane z virtualenvwrapper. Powodem, dla którego go odinstalowałem, było użycie wersji pipa (bardziej aktualnej), którą można zainstalować globalnie za pomocą:

sudo pip install virtualenvwrapper

Miałem ten problem w wysublimowanym tekście 3 na OSX podczas budowania skryptu i aby go rozwiązać, właśnie zainstalowałem go za pomocą pipa, zgodnie z powyższym poleceniem. Dzięki
James Campbell

Pracowałem dla mnie nad Ubuntu 16.04
Juha Untinen

5

Postępując zgodnie z tymi instrukcjami , stwierdziłem, że wystąpił błąd podczas pozyskiwania skryptu bash virtualenvwrapper, tj .:

source /usr/local/bin/virtualenvwrapper.sh

Skrypt odwołuje się do pliku, /etc/bash_completion.d/virtualenvwrapperjak wskazał arcticfeather.

Otwórz skrypt za pomocą następującego polecenia:

sudo nano /etc/bash_completion.d/virtualenvwrapper

To jest odniesienie do nieistniejącego pliku. Wystarczy wymienić /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.shsię /usr/local/bin/virtualenvwrapper_lazy.shi powinno być dobrze iść!


1
Nie działało dla mnie.
FractalSpace,

1

Jeśli żadna z odpowiedzi nie działa jak dla mnie, po prostu stwórz pusty plik w lokalizacji, podając błąd i wytnij go.

W przypadku OP:

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

i napisz:

#!/bin/bash

Zapisz go i spróbuj ponownie otworzyć terminal, zrobił dla mnie lewę


1

Możesz zainstalować rozszerzenie do virtualenv do zarządzania wieloma wirtualnymi środowiskami Python ( virtualenvwrapper ) w Ubuntu 14.04 z Centrum Oprogramowania Ubuntu lub z terminala za pomocą następującego polecenia:

sudo apt install virtualenvwrapper
gedit .bashrc

Dodaj następujący wiersz na końcu .bashrc.

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

Zapisz zmiany w .bashrc i zamknij gedit. Źródło .bashrc, aby zmiany odniosły skutek.

cd 
source .bashrc

Nie działało dla mnie.
FractalSpace,

0

Mam nadzieję, że to komuś pomoże, w moim przypadku próbowałem stworzyć virtualenv znajdujący się wewnątrz ekranu ( screen -S cokolwiek innego ), rozwiązaniem było zamknięcie ekranu i ponowne wykonanie polecenia virtualenv na zewnątrz.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.