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

13261
Abhishek Singh

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

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

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

13
Вы проверяли другие файлы конфигурации, такие как `.bash_profile`, и общесистемные версии в` / etc / `? w17t 9 лет назад 0
Да, я уже проверил .bash_profile, но он пуст, и я не знаю, как проверить / etc /. Abhishek Singh 9 лет назад 0
Там должны быть не скрытые глобальные файлы как `/ etc / bash.bashrc`. w17t 9 лет назад 0
Взгляните на этот источник http://chrisstrelioff.ws/sandbox/2014/09/04/virtualenv_and_virtualenvwrapper_on_ubuntu_14_04.html, который может помочь вам с некоторыми идеями. vembutech 9 лет назад 0
@vembutech Я проверил вышеуказанную ссылку, но это не помогло. Я уже добавил путь к моему virtualenvwrapper.sh в моем bashrc. Но я не нашел пути, подобного описанному выше в моем вопросе. Всякий раз, когда я пробовал источник ~ / .bashrc, он выдает ошибку выше Abhishek Singh 9 лет назад 0
@ ElvinAslanov нет таких строк в bash.bashrc Abhishek Singh 9 лет назад 0
Вы можете отлаживать с помощью `bash --login -x`, хотя вывод будет довольно обильным и сложным для прочесывания. Может быть, запустить с [`script`] (http://man7.org/linux/man-pages/man1/script.1.html), чтобы вы получили вывод в файл, который вы можете легко найти и т. Д. tripleee 9 лет назад 0
Если у вас в секретном файле `.bashrc` нет чего-то очень секретного (большинство людей этого не делают), вы можете просто загрузить его на https://pastebin.com/ и сослаться на него отсюда. tripleee 9 лет назад 0

6 ответов на вопрос

18
arcticfeather

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

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

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

Работал на меня (+1). FractalSpace 8 лет назад 1
10
user30747

В моем случае, я ранее установил 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 
У меня была эта проблема в возвышенном тексте 3 на OSX при создании скрипта, и для ее решения я просто установил ее через pip, как указано в вашей команде выше. Спасибо James Campbell 7 лет назад 0
Работал для меня на Ubuntu 16.04 Juha Untinen 6 лет назад 0
5
Michael Hays

Следуя этим инструкциям, я обнаружил, что ошибка возникла при использовании сценария 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и вам будет хорошо идти!

Не работал для меня FractalSpace 8 лет назад 1
1
karel

Вы можете установить 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 
Не работал для меня FractalSpace 8 лет назад 0
0
ritiek

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

В случае ОП:

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

и писать:

#!/bin/bash

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

0
Jonathan Arias

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