erro do shell bash: "não existe esse arquivo ou diretório"

17

Estou tentando instalar o wrapper Virtualenv no Ubuntu 14.04. Mas sempre que inicio um terminal, recebo o erro dizendo bash:

/usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh: esse arquivo ou diretório não existe.

Também verifiquei o script bashrc usando gedit ~/.bashrc, mas não existe essa linha como essa. Alguém sabe onde eu estou errado?

Abhishek Singh
fonte
Você verificou outros arquivos de configuração, como as .bash_profileversões de todo o sistema /etc/?
Sim, eu já verifiquei .bash_profile, mas está vazio e não sei como verificar / etc /.
Abhishek Singh 24/03
Deve haver arquivos globais não ocultos como /etc/bash.bashrc.
Dê uma olhada nesta fonte chrisstrelioff.ws/sandbox/2014/09/04/… que pode ajudá-lo com alguma idéia.
vembutech
@vembutech Verifiquei o link acima, mas não ajudou.Eu já adicionei o caminho do meu virtualenvwrapper.sh no meu bashrc. Mas não encontrei nenhum caminho como descrito acima na minha pergunta. Sempre que eu tentei fonte ~ / .bashrc, dá o erro acima
Abhishek Singh

Respostas:

20

Eu apenas tive o mesmo problema no Linux Mint.

O seguinte arquivo estava causando o problema: /etc/bash_completion.d/virtualenvwrapper

Fiz um backup (apenas no caso) e o apaguei, e tudo parece estar funcionando bem agora.

pena do ártico
fonte
1
Trabalhou para mim (+1).
FractalSpace
Trabalhou para mim no Ubuntu (+1)
lightsong
16

No meu caso, eu havia instalado o virtualenvwrapper usando apt-get install virtualenvwrappere depois o desinstalado apt-get remove virtualenvwrapper, o que deixou o arquivo 'configuration' para /etc/bash_completion.d/virtualenvwrappertrás. Essa definição de conclusão do bash foi originada pelo bash (não tinha nada a ver com o meu .bashrc) e causou a mensagem de erro.

A solução foi executar:

sudo apt-get purge virtualenvwrapper

Que eliminou todos os arquivos relacionados ao virtualenvwrapper. O motivo pelo qual eu o desinstalei foi usar a versão do pip (mais atualizada), que pode ser instalada globalmente usando:

sudo pip install virtualenvwrapper
user30747
fonte
Eu tive esse problema no sublime texto 3 no OSX ao criar um script e, para resolver, eu o instalei apenas via pip, conforme o comando acima. Obrigado
James Campbell
Trabalhou para mim no Ubuntu 16.04
Juha Untinen
5

Seguindo estas instruções , descobri que o erro ocorreu ao obter o script basen do virtualenvwrapper, ou seja:

source /usr/local/bin/virtualenvwrapper.sh

O script faz referência ao arquivo /etc/bash_completion.d/virtualenvwrapperconforme indicado pelo arcticfeather.

Abra o script usando o seguinte comando:

sudo nano /etc/bash_completion.d/virtualenvwrapper

É aqui que o arquivo inexistente está sendo referenciado. Simplesmente substitua /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.shpor /usr/local/bin/virtualenvwrapper_lazy.she você deve estar pronto!

Michael Hays
fonte
1
Não funcionou para mim.
FractalSpace
1

Se nenhuma das respostas funcionar como eu, basta criar um arquivo vazio no local com erro e exibir um erro.

No caso do OP:

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

e escreva:

#!/bin/bash

Salve e tente abrir o terminal novamente, fiz o truque para mim

ritiek
fonte
1

Você pode instalar o Extension to virtualenv para gerenciar vários ambientes virtuais Python ( virtualenvwrapper ) no Ubuntu 14.04 no Ubuntu Software Center ou no terminal usando o seguinte comando:

sudo apt install virtualenvwrapper
gedit .bashrc

Adicione a seguinte linha ao final de .bashrc.

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

Salve as alterações em .bashrc e feche o gedit. Crie seu .bashrc para que as alterações entrem em vigor.

cd 
source .bashrc
karel
fonte
Não funcionou para mim.
FractalSpace
0

Espero que ajude alguém, no meu caso, eu estava tentando criar o virtualenv dentro de uma tela ( tela -S qualquer que seja ), a solução foi fechar a tela e executar o comando virtualenv novamente fora.

Jonathan Arias
fonte