从 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 正常工作。