终端中的 Python 错误

终端中的 Python 错误

从 Ubuntu 20.04 升级到 22.04 后,每当我打开终端时都会出现此错误:

    /usr/bin/python3: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')
virtualenvwrapper.sh: There was a problem running the initialization hooks.

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 and that PATH is
set properly.

这是我的 ~/.bashrc 文件中的内容:

#Virtualenvwrapper settings:
export WORKON_HOME=$HOME/.virtualenvs
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
. /usr/local/bin/virtualenvwrapper.sh

我注意到最后一行的点后面有一个空格。它应该在那里吗?

mike@orac:/usr/bin$ ls -la /usr/bin/python3
lrwxrwxrwx 1 root root 10 Aug 18 22:39 /usr/bin/python3 -> python3.10

答案1

点后的空格.

. /usr/local/bin/virtualenvwrapper.sh

应该在那里......这是文件来源的一种方法......但是,错误:

(ModuleNotFoundError:没有名为“virtualenvwrapper”的模块)

表示模块virtualenvwrapper未安装或已过时...您可以使用以下方法修复这两个问题:

pip3 install -U virtualenvwrapper

如果pip3尚未安装,请先安装:

sudo apt install python3-pip

升级后为什么这样?

/usr/bin/python3

将始终是指向当前系统 Python 版本的符号链接...即它将指向新升级的 Ubuntu 22.04,python3.10如下所示:

ls -l /usr/bin/python3
lrwxrwxrwx 1 root root 10 Aug 18 13:39 /usr/bin/python3 -> python3.10

虽然它之前指向的是之前的 Ubuntu 20.04,python3.8如下所示:

ls -l /usr/bin/python3
lrwxrwxrwx 1 root root 10 Aug 18 13:39 /usr/bin/python3 -> python3.8

此更改可能需要重新安装或升级以前安装的模块才能与新系统 python 正常工作。

相关内容