尝试安装psutils
导致了一个很大的头痛。..
$ 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
:
$ 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
尝试installdistutils
fromez_setup.py
:
$ 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
那么-我该如何安装它?
P.S.不,我没有在这台机器上根,不能使用包管理器。
我在这里有一个答案但我会在这里复制它
AskUbuntu答案:
Debian已经决定distutils不是一个核心python包,因此它不包含在debian和基于debian的操作系统的最后版本中。 你应该能够做到
sudo apt install python3-distutils
,它应该工作。然而,它并没有为我工作。 我使用Parrot OS,这是基于Ubuntu,Debian的。 我升级了我的系统,pip停止了python3.7的工作,我也得到了错误
ModuleNotFoundError: No module named 'distutils.util'
我尝试了很多东西来修复它并重新安装distutils,我纯粹的运气发现,pip3,对于python3.8确实工作。 然后我尝试了
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
,它完全不同。 我发现了以下文件:这是很多更有希望的,并且由于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)
然后我尝试安装一些模块,一切正常。 我希望这是有帮助的。