每天进步一点点:解决"ImportError: cannot import name 'dist'"

in #cn4 years ago

今天在一台机器上安装某个python库,按以往的经验,直接执行使用pip安装就可以。

image.png
(图源 :pixabay)

安装命令如下:

pip install xxxx

结果却出现如下提示:

image.png

from distutils import dist, sysconfig
ImportError: cannot import name 'dist'

这就怪异了,以往我在其它机器上安装整个Python库都正常,机器也是一家服务商的,系统也都是一样的。

按着我以往的经验,想当然地做了如下尝试:

pip install distutils
pip install python3-distutils

结果分别被提示:

ERROR: No matching distribution found for distutil
ERROR: No matching distribution found for python3-distutils

看来想当然的操作是行不通了,google.com查了一下,正确的命令应该是:

sudo apt update
sudo apt install python3-distutils

执行上述命令,终于成功安装上python3-distutils:

image.png

然后再去执行pip install xxxx,就可以正确地安装我要的装的Python库了。

回想一下为什么我在另外的机器上可以进行安装,那是我因为我build其它程序的时候,曾经安装过一系列的工具,也包括这个python3-distutils。好久不弄竟然忘记了,知道这次搞定这个问题才回想起。

第二就是做什么事情不能想当然,还是要多学多搜索,否则就会像自己这样做了一些无用功。

再有就是,自己掌握的知识太有限了,为啥有的python库就可以直接安装,有的就不可以,distutils和setuptools有啥区别?这个库明明是用setuptools打包发布的,为啥安装时会需要distutils呢?

哎,算了不管了,好用就行啦,精力实在是有限啊。记录在这里,下次再遇到的时候就不会抓瞎啦。

注:本文首发HIVE平台,欢迎大家到HIVE上关注我,并参与讨论。