如何修复 /usr/local/bin/virtualenv: /usr/bin/python: 错误的解释器:没有这样的文件或目录?

How to fix /usr/local/bin/virtualenv: /usr/bin/python: bad interpreter: No such file or directory?

当我尝试在 Ubuntu 18.04 上使用 virtualenv 时,出现了这个错误:

bash: /usr/local/bin/virtualenv: /usr/bin/python: bad interpreter: No such file or directory

Python 2 和 3 工作正常:

josir@desenv16:~/bin$ which python3
/usr/bin/python3
josir@desenv16:~/bin$ python3
Python 3.6.9 (default, Apr 18 2020, 01:56:04) 
[GCC 8.4.0] on linux

我已经尝试卸载 virtualenv:

sudo apt-get purge --auto-remove virtualenv
sudo apt-get purge --auto-remove python-virtualenv
sudo apt-get purge --auto-remove python3-virtualenv

但是当我再次安装时,错误依旧

过去通过 debian 软件包安装给我带来了错误。您的问题的解决方案是使用 pip:

sudo pip3 install virtualenv

完整教程在这里:How to install virtualenv for Python3 on Linux

bash: /usr/local/bin/virtualenv: /usr/bin/python: bad interpreter: No such file or directory

错误在 '/usr/local/bin/virtualenv' — 它的第一行 (shebang) 是 #!/usr/bin/python 并且有您的系统中没有这样的文件。

我认为导致这种情况的事件流是:您很久以前就用 pip(不是 apt)安装了 virtualenv,并将 /usr/local/bin 放在你的前面$PATH。然后你升级了你的系统;升级删除了 /usr/bin/python,现在您只有 /usr/bin/python3.

现在您必须决定要走哪条路线:aptpip。如果您选择 apt — 删除 /usr/local/bin/virtualenv.

如果选择pip:我的建议是尽可能卸载python个用apt安装的包;重新安装 virtualenv;那应该是与 apt 一起安装的唯一附加包。对于每个 project/task 创建一个虚拟环境并使用 pip.

安装软件包

PS。个人经验:几年前我从apt转为pip

PPS。避免使用 sudo pip——不要破坏系统安装。安装到虚拟环境或 pip install --user.