-bash: /usr/bin/virtualenvwrapper.sh: 没有那个文件或目录

-bash: /usr/bin/virtualenvwrapper.sh: No such file or directory

我无法弄清楚 shell 在服务器登录时尝试 运行 /usr/bin/virtualenvwrapper.sh 的位置。我希望 virtualenvwrapper 永久卸载,而不仅仅是从 shell 实例中删除。我以为我用 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

当您使用 bash shell.

登录终端时,有许多文件可能 运行

您应该在 ~/.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

sudo -H pip3 install virtualenvwrapper

i 运行 遇到类似的问题,其中安装无法成功,因为 ~/.cache/pip 和 ~/.cache/pip/http 不属于当前用户。使用 -H 或 --set-home 选项安装解决了我的问题。

已确认 Ubuntu 18,正如@Tarique 已经回答的那样。包装器的 shell 脚本 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

对于将来发现此问题的任何人。 virtualenvwrapper.sh 脚本 is/was 现在位于 Ubuntu 20.04.1 LTS 上的 /usr/share/virtualenvwrapper/virtualenvwrapper.sh(至少对我来说在我的虚拟机中是这样)。

(遗憾的是,我不能只评论上面提到的位置 post 所以它们会在一起,因为新用户的声誉)

设置虚拟环境 现在通过右键单击并选择“在终端中打开”选项在主目录中打开您的终端。您也可以同时按下键盘上的 CTRLALTT 键来自动打开终端应用程序。

您首先需要创建一个特殊目录来存放您所有的虚拟环境。因此,继续创建一个名为 virtualenv 的新隐藏目录。

$ mkdir .virtualenv

现在你应该为 Python3 安装 pip。

$ sudo apt install python3-pip

确认 pip3 安装。

$ pip3 --version

现在通过 pip3 安装 virtualenv。

$ pip3 install virtualenv

要查找 virtualenv 的安装位置,请键入:

$ which virtualenv

通过 pip3 安装 virtualenvwrapper:

$ pip3 install virtualenvwrapper

我们将通过添加一行来修改您的 .bashrc 文件,该行将调整每个新的虚拟环境以供使用 Python 3. 我们将虚拟环境指向我们在上面创建的目录 (.virtualenv) 和我们还将指出 virtualenv 和 virtualenvwrapper 的位置。

现在使用 Vim 编辑器打开 .bashrc 文件。

$ vim .bashrc

如果您还没有使用过 Vim 编辑器,或者您的计算机上没有安装它,您应该现在就安装它。这是一个广泛使用的 Linux 编辑器,并且有充分的理由。

$ sudo apt install vim

安装 Vim 后,在终端中输入 vim .bashrc 命令打开 .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 并按回车键。此命令将保存并退出 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 会将现有的虚拟环境复制到新的虚拟环境并激活它。

$ cpvirtualenv old_virtual_env new_virtual_env

做得好!您现在已经创建了第一个隔离的 Python 3 环境。

我也遇到了同样的问题,但这对我有用:-

  1. 创建一个目录来保存虚拟环境。mkdir $HOME/.virtualenvs
  2. export WORKON_HOME=$HOME/.virtualenvs 这样的行添加到您的 .bashrc.
  3. 添加一行 source /path/to/this/file/virtualenvwrapper.sh 到你的 .bashrc.
  4. 运行: source ~/.bashrc
  5. 运行: mkvirtualenv temp
  6. 这一次,包括“temp”环境。
  7. 运行: workon temp
  8. 虚拟环境已激活

如果您使用的是 Ubuntu 20,则使用下面在 ~/.bashrc

中给出的代码
export WORKON_HOME=~/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source ~/.local/bin/virtualenvwrapper.sh

可能是您 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

应该可以。

就我而言 Ubuntu 20,我在以下位置找到了这个脚本:

/usr/share/virtualenvwrapper/