python - ModuleNotFoundError:没有名为“distutils.core”的模块
问题描述
我最近从which has升级Ubuntu 18.04
到了。但我使用.19.04
python 3.7
Python 3.6
现在,当我尝试在 PyCharm 中创建一个virtualenv
withPython 36
时,它会引发:
ModuleNotFoundError: No module named 'distutils.core'
我不知道该怎么办。
我尝试安装 distutils:
milano@milano-PC:~$ sudo apt-get install python3-distutils
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-distutils is already the newest version (3.7.3-1ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
但正如你所见,我有最新版本。
你知道该怎么做吗?
解决方案
Python 基础解释器确实需要一些额外的模块。这些默认情况下没有安装,例如 Ubuntu 18.04。
为了解决这个问题,我们首先需要找到你正在运行的 python 版本。如果您在系统上只安装了一个 python 版本(并且您对此很确定),您可以跳过此步骤。
# from your project interpreter run
# your_project_python --version
$ python3 --version
Python 3.7.8
你现在需要为这个精确的 python 解释器安装 distutils。所以这里这个例子的解决方案是:
sudo apt install python3.7-distutils
# sudo apt install python3-distutils # would just update default python intrpreter
请记住,仅从任何命令行运行 python 可能是您在项目中运行的其他版本的 python!
如果这没有帮助,请寻找以下可能性。这将为您带来从命令行中的别名解析的二进制文件。
$ which python
/usr/bin/python
$ ls -lach /usr/bin/python
lrwxrwxrwx 1 root root 9 Jun 8 2018 /usr/bin/python -> python2.7
原文出处:参考这篇文章
对于这个答案,我还合并、总结、排序和解释了 Neo、Andrei、Mostafa 和 Wolfgang 提供的一些内容。
作为巫师学徒的旁注:您可能很想卸载 python 解释器。对于根本没有必要提出的解决方案!但是,请记住,您的整个操作系统都依赖于一个 python 解释器。所以这个默认的,你不想卸载。如果这样做,您在查找桌面任务栏以及基本上所有内容时都会陷入混乱。
推荐阅读
- c# - 一个更长的调用导致所有并行循环暂停或阻塞
- android - DJI 应用程序错误(没有找到 dex 位置的原始 dex 文件)
- java - Mysql 到 Cassandra java 空指针异常
- python - 高斯噪声没有覆盖主图像-Python
- excel - 当消息框显示在顶部时,如何让用户在 Excel 工作表上工作?
- graphql - 如果定义了片段,如何测试 GraphQL 查询?
- kubernetes - 通过代理 ssh 到另一个虚拟机时如何访问 kubernetes 集群中的服务?
- visual-studio-2017 - 如何在项目属性中启用包控件
- mysql - 分组连接不同的行
- qt - QML DelegateModel:从委托访问 DelegateModel