首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ImportError:没有名为distutils的模块

ImportError:没有名为distutils的模块
EN

Stack Overflow用户
提问于 2014-05-13 16:17:54
回答 3查看 23K关注 0票数 9

尝试安装psutils导致了一个很大的麻烦...

代码语言:javascript
运行
复制
$ python -V
Python 2.4.2

$ cat /etc/SuSE-release
SUSE Linux Enterprise Server 10 (x86_64)
VERSION = 10
PATCHLEVEL = 4


$ cd psutil-2.1.1/
$ python setup.py install
Traceback (most recent call last):
  File "setup.py", line 17, in ?
    from distutils.core import setup, Extension
ImportError: No module named distutils.core

接下来-我尝试安装setuptools以使用easy_install

代码语言:javascript
运行
复制
$ which easy_install
which: no easy_install

$ cd ../setuptools-1.4/

$ python setup.py install
Traceback (most recent call last):
  File "setup.py", line 12, in ?
    from distutils.util import convert_path
ImportError: No module named distutils.util

正在尝试从ez_setup.py安装distutils

代码语言:javascript
运行
复制
$ python ez_setup.py
Traceback (most recent call last):
  File "ez_setup.py", line 278, in ?
    main(sys.argv[1:])
  File "ez_setup.py", line 210, in main
    egg = download_setuptools(version, delay=0)
  File "ez_setup.py", line 139, in download_setuptools
    from distutils import log
ImportError: No module named distutils

那么,我该如何安装它呢?

附言:不,我没有在这台机器上建立根目录,也不能使用包管理器。

EN

回答 3

Stack Overflow用户

发布于 2019-06-27 21:14:44

您需要运行此(如果python3上发生错误) ==> sudo apt-get install python3-distutils --reinstall

您需要运行此(如果python2上发生错误) ==> sudo apt-get install python2-distutils --reinstall

票数 12
EN

Stack Overflow用户

发布于 2020-07-20 17:28:50

我有一个答案here,但我会把它复制到这里

AskUbuntu答案:

Debian已经决定distutils不是一个核心python包,所以它不包括在debian和基于debian的OSes的最新版本中。您应该能够执行sudo apt install python3-distutils,并且它应该可以工作。

然而,它对我来说并不起作用。我使用Parrot,它和Ubuntu一样,是基于Debian的。我升级了我的系统,pip停止了对python3.7的工作,并且我也得到了错误ModuleNotFoundError: No module named 'distutils.util'

我尝试了很多东西来修复它并重新安装distutils,我幸运地发现,python3.8 的pip3确实可以运行。然后我尝试了python3.7 -m pip3 -V,得到了/usr/bin/python3.7: No module named pip3,所以我决定看看/usr/lib文件。

我看了看/usr/lib/python3/dist-packages,一切看起来都很好。然后我查看了/usr/lib/python3.7,看到了文件夹distutil

我打开它,看到了__pycache____init__.py文件和一个version.py文件。我不知道其中应该有多少个文件,或者代码应该是什么,但我知道这两个文件要么是错误的,要么是缺少另一个文件。

然后我看了看/usr/lib/python3.8/distutil里面是什么,它是完全不同的。我找到了以下文件:

代码语言:javascript
运行
复制
command                          Folder
__pycache__                      Folder
archive_util.py                  Python script
bcppcompiler.py                  Python script
cmd.py                           Python script
config.py                        Python script
core.py                          Python script
cygwinccompiler.py               Python script
debug.py                         Python script
dep_util.py                      Python script
errors.py                        Python script
extension.py                     Python script
fancy_getopt.py                  Python script
filelist.py                      Python script
file_util.py                     Python script
__init__.py                      Python script
log.py                           Python script
msvc9compiler.py                 Python script
_msvccompiler.py                 Python script
msvccompiler.py                  Python script
README                           Plain text file
spawn.py                         Python script
sysconfig.py                     Python script
text_file.py                     Python script
unixccompiler.py                 Python script
util.py                          Python script
version.py                       Python script
versionpredicate.py              Python script

这更有希望,而且由于pip3确实可以工作,我假设这个distutils也可以工作,并且我尝试通过运行以下命令将其复制到python3.7文件夹:

sudo cp -r /usr/lib/python3.8/distutil /usr/lib/python3.7/distutil

然后我又试了一次python3.7 -m pip -V

pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.7)

然后我试着安装一些模块,一切都很正常。我希望这能对你有所帮助。

票数 4
EN

Stack Overflow用户

发布于 2020-08-19 16:53:34

@ciro

我需要做更多的工作才能让virtualenv再次运行(从18.04升级到20.04):

代码语言:javascript
运行
复制
sudo cp /usr/lib/python3.8/_sysconfigdata__* /usr/lib/python3.6/
cd /usr/lib/python3.6
sudo ln -s _sysconfigdata_m_linux_x86_64-linux-gnu.py _sysconfigdata_m_x86_64-linux-gnu.py
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23626034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档