Ошибка оболочки bash: "нет такого файла или каталога"

Я пытаюсь установить упаковщик Virtualenv на Ubuntu 14.04. Но всякий раз, когда я запускаю терминал, я получаю сообщение об ошибке bash:

/usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh: нет такого файла или каталога.

Я также проверил скрипт bashrc с помощью gedit ~/.bashrcно такой линии нет. Кто-нибудь знает, где я не прав?

6 ответов

В моем случае я ранее установил virtualenvwrapper, используя apt-get install virtualenvwrapper а позже удалил его с помощью apt-get remove virtualenvwrapper, который оставил файл конфигурации /etc/bash_completion.d/virtualenvwrapper позади. Это определение завершения bash было получено от bash (оно не имело никакого отношения к моему.bashrc) и вызвало сообщение об ошибке.

Решение было запустить:

sudo apt-get purge virtualenvwrapper

Который удалил все файлы, связанные с virtualenvwrapper. Причина, по которой я удалил ее, заключалась в том, чтобы вместо этого использовать версию pip (более современную), которую можно установить глобально, используя:

sudo pip install virtualenvwrapper

У меня просто была такая же проблема на Linux Mint.

Следующий файл вызывал проблему: /etc/bash_completion.d/virtualenvwrapper

Я сделал резервную копию (на всякий случай) и удалил ее, и теперь все работает нормально.

Следуя этим инструкциям, я обнаружил, что ошибка возникла при использовании сценария bash virtualenvwrapper, а именно:

source /usr/local/bin/virtualenvwrapper.sh

Скрипт ссылается на файл /etc/bash_completion.d/virtualenvwrapper как указано arcticfeather.

Откройте скрипт, используя следующую команду:

sudo nano /etc/bash_completion.d/virtualenvwrapper

Это где ссылка на несуществующий файл. Просто замени /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh с /usr/local/bin/virtualenvwrapper_lazy.sh и тебе должно быть хорошо идти!

Вы можете установить Extension to virtualenv для управления несколькими виртуальными средами Python (virtualenvwrapper) в Ubuntu 14.04 из Ubuntu Software Center или из терминала с помощью следующей команды:

sudo apt install virtualenvwrapper
gedit .bashrc

Добавьте следующую строку в конец.bashrc.

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

Сохраните изменения в.bashrc и закройте gedit. Поставьте ваш.bashrc, чтобы изменения вступили в силу.

cd 
source .bashrc

Если ни один из ответов не работает так, как у меня, просто создайте пустой файл в том месте, где выдается ошибка, и отправьте ей сообщение.

В случае ОП:

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

и писать:

#!/bin/bash

Сохраните его и попробуйте снова открыть терминал.

Надеюсь, это кому-нибудь поможет, в моем случае я пытался создать virtualenv, находящийся внутри экрана (screen -S что угодно), решением было закрыть экран и снова выполнить команду virtualenv, находясь снаружи.

Другие вопросы по тегам