我刚升级到Pop OS(Ubuntu)20.04,将Python 3.7升级到了3.8。现在,当我从AWS SAM CLI运行sam时,在下面出现此错误。在线找到的解决方案都与确保安装python3-distutils
有关。我已验证已安装python3-disutils
。 /usr/lib/python3.8/distutils
看起来不错,只是由于某种原因没有被捡起。
我注意到的一件事是,在下面的追溯中,它使用的是系统范围的pip,而我的.local下安装了更高版本的pip。我不知道这两个症状是否相关,但是好像我在某处缺少一些配置,因此3.8或用户空间中的任何内容都没有被发现。
Build Failed
Error: PythonPipBuilder:ResolveDependencies - Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3/dist-packages/pip/_internal/main.py", line 14, in main
from pip._internal.utils.entrypoints import _wrapper
File "/usr/lib/python3/dist-packages/pip/_internal/utils/entrypoints.py", line 3, in <module>
from pip._internal.cli.main import main
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'
答案 0 :(得分:0)
我在Debian Bullseye(或更确切地说是Bullseye / Buster混合)上遇到了同样的问题。
软件包python3-distutils
(3.8.6)包含适用于Python 3.8和3.9(!)的模块。
适用于Python 3.7的旧软件包(3.7.3)。您必须选择。
我的解决方法只是复制模块。
mkdir -p /usr/lib/python3.7/distutils
cp -a /usr/lib/python3.8/distutils/* /usr/lib/python3.7/distutils/