WSL下Python3.9安装pyminizip遇distutils.util缺失问题求助
问题描述
在WSL环境中执行sudo pip3 install pyminizip时出现ModuleNotFoundError: No module named 'distutils.util'错误,尝试安装python3.9-distutils时,系统提示已安装最新版python3-distutils (3.8.10-0ubuntu1~20.04)。完整错误日志如下:
sudo pip3 install pyminizip Traceback (most recent call last): File "/usr/bin/pip3", line 11, in <module> load_entry_point('pip==20.0.2', 'console_scripts', 'pip3')() File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 490, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2854, in load_entry_point return ep.load() File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2445, in load return self.resolve() File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2451, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 10, in <module> from pip._internal.cli.autocompletion import autocomplete File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 9, in <module> from pip._internal.cli.main_parser import create_main_parser File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 7, in <module> from pip._internal.cli import cmdoptions File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 19, in <module> from distutils.util import strtobool ModuleNotFoundError: No module named 'distutils.util' teunbergsma@DESKTOP-7IC0BEP:~/ITRL/1ITRL$ sudo apt-get install python3.9-distutils Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'python3-distutils' instead of 'python3.9-distutils' python3-distutils is already the newest version (3.8.10-0ubuntu1~20.04). 0 upgraded, 0 newly installed, 0 to remove and 400 not upgraded.
解决方案
核心问题是系统中同时存在多个Python版本,pip3绑定的Python版本(推测为3.9)未安装对应版本的distutils,而系统默认安装的是Python3.8的distutils。
步骤1:确认pip关联的Python版本
执行以下命令查看当前pip3对应的Python版本:
pip3 --version
根据输出确认版本(例如:pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.9)),再执行对应步骤。
步骤2:安装对应Python版本的distutils
如果确认是Python3.9,先添加支持该版本的软件源(针对Ubuntu 20.04):
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update
然后安装Python3.9的distutils:
sudo apt-get install python3.9-distutils
步骤3:用对应版本的pip安装pyminizip
安装完成后,直接通过Python3.9的pip执行安装:
python3.9 -m pip install pyminizip
若已安装python3.9-pip,也可使用:
pip3.9 install pyminizip
备选方案:修复pip路径关联
如果不想添加第三方源,可重新安装对应版本的pip:
curl https://bootstrap.pypa.io/get-pip.py | python3.9
之后再执行pip3.9 install pyminizip即可。
内容的提问来源于stack exchange,提问作者Teun
相关产品推荐
相关产品推荐

