-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: -
- Create a directory to hold the virtual environments.
mkdir $HOME/.virtualenvs
- Add a line like
export WORKON_HOME=$HOME/.virtualenvs
to your.bashrc. - Add a line like
source /path/to/this/file/virtualenvwrapper.sh
to your .bashrc. - Run:
source ~/.bashrc
- Run:
mkvirtualenv temp
- This time, the "temp" environment is included.
- Run:
workon temp
- 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/