python - Windows:ModuleNotFoundError:没有名为“distutils”的模块
问题描述
Python 3.7.2
Pip 18.1
setuptools 40.7.2
Windows-10-10.0.14393-SP0
我见过有人No module named 'distutils
在 Linux/Ubuntu 上遇到这个问题(例如,这里和这里)。报告的解决方案是使用 apt-get 安装 distutils:
apt-get install python3-distutils
或者,人们很久以前就遇到过这个问题(例如,here)。
但是,我在新 Windows (Windows-10-10.0.14393-SP0)、新 Python (3.7.2) 上遇到此错误,并且无法弄清楚 distutils 为何不高兴和/或如何安装 distutils。
我可以在 Python 中导入 distutils,所以我假设它已安装。但是 setuptools 不高兴。
File "site-packages\setuptools\__init__.py", line 6, in <module>
ModuleNotFoundError: No module named 'distutils'
直接来自 Python,它不会抱怨 distutils。
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import distutils.core
>>> import setuptools
>>>
但是,当我尝试运行 Python 脚本时,它会抱怨。有什么想法吗?
解决方案
如果您在创建项目时创建了新的虚拟环境,则可能会出现此错误。
您可以通过打开项目所在的目录,然后搜索并删除“venv”文件夹来对其进行排序。
现在,当您重新运行项目时,IDE 会要求您设置 python 解释器。那时不要选择虚拟环境,而是选择使用预先存在的解释器选项。
-- 当你选择“创建虚拟环境”时,你的 IDE 会创建一个名为“virenv”的新目录,并将所有 python 文件从 Python/bin 复制到这个文件夹,然后从这里导入模块。因此,模块可能已经安装在本机 python 目录中,但可能没有导入到 virenv 目录,因此导致 ModuleNotFoundError。
推荐阅读
- css - 向 ng-repeat div 添加滑动过渡
- python - 在 Sympy 中通过参数图绘制具有等轴的完美球体
- angular - 添加 ngx-daterangepicker 时无法构建
- testing - Bash中是否有一个简单的测试来测试逻辑路径是否是目录
- javascript - LocalStorage 字符串总是返回未定义的 JS
- php - Bootstrap Modal 隐藏方法需要通过 PHP Form Submission 提交两次才能工作
- mapbox - 如何使用mapbox在同一坐标上设置多个标记?
- angular - 为什么 AlertifyJS 确认不适用于 Angular 8
- airflow - 使用 postgresSQL 12 作为后端数据库时,Airflow Scheduler 不断发出警告
- java - 隐式超级构造函数未定义 - Java 错误