-bash: /usr/bin/virtualenvwrapper.sh: нет такого файла или каталога

Я не могу понять, где оболочка пытается запустить /usr/bin/virtualenvwrapper.sh при входе на сервер. Я хочу навсегда удалить virtualenvwrapper, а не просто удалить его из экземпляра оболочки. Я думал, что удалил его с pip uninstall virtualenvwrapper, но каждый раз, когда я захожу на сервер, я получаю сообщение об ошибке -bash: /usr/bin/virtualenvwrapper.sh: No such file or directory, как будто есть какой-то оставшийся артефакт. Вчера я много поработал и не могу вспомнить все изменения, которые я сделал, или как я это сделал. Где он выполняет поиск virtualenvwrapper.sh?

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

$ echo $PATH
/usr/lib64/qt-3.3/bin
/usr/local/bin/ibm/lsf/9.1/linux2.6-glibc2.3-x86_64/etc
/usr/local/bin/ibm/lsf/9.1/linux2.6-glibc2.3-x86_64/bin
/usr/local/bin
/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/sbin/usr/local/bin/CASAVA-1.8.2/bin
/usr/local/bin/blast
/usr/local/bin/mirdeep2
/usr/local/bin/velvet

$ sudo vim ~/.bashrc
1 # .bashrc
2
3 # Source global definitions
4 if [ -f /etc/bashrc ]; then
5         . /etc/bashrc
6 fi
7
8 # User specific aliases and functions

9 ответов

Решение

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

Вы должны проверить ~/.bashrc, ~/.bash_profile, ~/.bash_login а также ~/.profile для "/usr/bin/virtualenvwrapper.sh".

Вероятно, один из этих файлов запускается при входе в систему и содержит отсутствующий скрипт, который вы удалили.

На Ubuntu 12.04 LTS, установка через pip, он установлен в

/usr/local/bin/virtualenvwrapper.sh

И если вы используете Ubuntu 16.04 или более поздней версии, он устанавливается в

~/.local/bin/virtualenvwrapper.sh

Настройка виртуальной среды Теперь откройте свой терминал в домашнем каталоге, щелкнув правой кнопкой мыши и выбрав опцию «Открыть в терминале». Вы также можете одновременно нажать клавиши CTRL, ALT и T на клавиатуре, чтобы автоматически открыть приложение «Терминал».

Сначала вам нужно создать специальный каталог, в котором будут храниться все ваши виртуальные среды. Итак, приступайте к созданию нового скрытого каталога с именем virtualenv.

      $ mkdir .virtualenv

Теперь вам нужно установить pip для Python3.

      $ sudo apt install python3-pip

Подтвердите установку pip3.

      $ pip3 --version

Теперь установите virtualenv через pip3.

      $ pip3 install virtualenv

Чтобы узнать, где установлен ваш virtualenv, введите:

      $ which virtualenv

Установите virtualenvwrapper через pip3:

      $ pip3 install virtualenvwrapper

Мы собираемся изменить ваш файл .bashrc, добавив строку, которая будет настраивать каждую новую виртуальную среду для использования Python 3. Мы будем указывать виртуальные среды на каталог, который мы создали выше (.virtualenv), и мы также укажем расположение virtualenv и virtualenvwrapper.

Теперь откройте файл .bashrc с помощью редактора Vim.

      $ vim .bashrc

Если вы все еще не использовали редактор Vim или он не установлен на вашем компьютере, вам следует установить его сейчас. Это широко используемый редактор Linux, и не зря.

      $ sudo apt install vim

После установки Vim откройте файл .bashrc, набрав в терминале команду vim .bashrc. Перейдите в конец файла .bashrc, нажмите букву i, чтобы войти в режим вставки Vim, и добавьте следующие строки:

      #Virtualenvwrapper settings:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=/home/your_username/.local/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh

После того, как вы закончите, нажмите клавишу esc. Затем введите: wq и нажмите Enter. Эта команда сохранит и выйдет из редактора Vim. Когда закончите, закройте и снова откройте терминал.

Чтобы создать виртуальную среду на Python3 и немедленно активировать ее, используйте эту команду в своем терминале:

      $ mkvirtualenv name_of_your_env

Вы должны подтвердить, что эта среда настроена для Python3:

      $ Python -V

Чтобы деактивировать среду, используйте команду deactivate.

      $ deactivate

Чтобы вывести список всех доступных виртуальных сред, используйте в терминале команду workon или lsvirtualenv (результат такой же, как workon, но в изящном виде):

      $ workon

$ lsvirtualenv

Чтобы активировать одну конкретную среду, используйте workon + имя вашей среды:

      $ workon name_of_your_env

Есть несколько полезных команд, которые вам когда-нибудь понадобится:

Rmvirtualenv удалит определенную виртуальную среду, расположенную в вашем каталоге .virtualenv.

      $ rmvirtualenv name_of_your_env

Cpvirtualenv will copy the existing virtualenvironment to a new virtualenvironment and activate it.

      $ cpvirtualenv old_virtual_env new_virtual_env

Well done! You have now created your first isolated Python 3 environment.

Возможно, ваши пакеты Python установлены где-то еще. Так что попробуйте:

      $ which python
/home/tesla/miniconda3/bin/python

или

      $ which virtualenvwrapper.sh
/home/tesla/miniconda3/bin/virtualenvwrapper.sh    

Чтобы проверить место установки python. В моем случае я использовал miniconda, поэтому система не смогла найти местоположение, указанное в документации. Если указанное выше место не /usr/local/bin/virtualenvwrapper.sh тогда теперь используйте:

      source /home/tesla/miniconda3/bin/virtualenvwrapper.sh

Должно сработать.

Для тех, кто найдет это в будущем. В virtualenvwrapper.sh скрипт теперь находится в /usr/share/virtualenvwrapper/virtualenvwrapper.sh на Ubuntu 20.04.1 LTS (по крайней мере, для меня в моей виртуальной машине).

(К сожалению, я не могу просто прокомментировать вышеуказанный пост, в котором упоминаются места, чтобы все было вместе, из-за новой репутации пользователя)

Подтверждено для Ubuntu 18, как уже ответил @Tarique . Сценарий оболочкиvirtualenvwrapper.sh для обертки внутри - ~/.local/bin/

(base) dhankar@dhankar-1:~/opencv_cuda$ cd ~/.local/bin/
(base) dhankar@dhankar-1:~/.local/bin$ ls -ltr
total 100
-rwxr-xr-x 1 dhankar dhankar 41703 Jul 23 20:56 virtualenvwrapper.sh
-rwxr-xr-x 1 dhankar dhankar  2210 Jul 23 20:56 virtualenvwrapper_lazy.sh
-rwxr-xr-x 1 dhankar dhankar   259 Jul 23 20:56 virtualenv

sudo -H pip3 установить virtualenvwrapper

Я столкнулся с аналогичной проблемой, когда установка не могла быть успешной, потому что ~/.cache/pip и ~/.cache/pip/http не принадлежат текущему пользователю. установка с опцией -H или --set-home решила мою проблему.

I also confronted the same problem, but this worked for me: -

  1. Create a directory to hold the virtual environments. mkdir $HOME/.virtualenvs
  2. Add a line like export WORKON_HOME=$HOME/.virtualenvsto your.bashrc.
  3. Add a line like source /path/to/this/file/virtualenvwrapper.sh to your .bashrc.
  4. Run: source ~/.bashrc
  5. Run: mkvirtualenv temp
  6. This time, the "temp" environment is included.
  7. Run: workon temp
  8. The virtual environment is activated.

If you are on Ubuntu 20 then use the code given below in ~/.bashrc

      export WORKON_HOME=~/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=~ /.local/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh

В моем случае на Ubuntu 20 я нашел этот скрипт в:

      /usr/share/virtualenvwrapper/
Другие вопросы по тегам