Ошибка оболочки 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, находясь снаружи.