如何安装python distutils


90

我刚刚在VPS服务器上有一些空间(在ubuntu 8.04上运行),并且我试图在上面安装django。该服务器已安装python 2.5,但我猜它是非标准安装。当我运行Django的安装脚本时,我得到

amitoj@ninja:~/Django-1.2.1$ python setup.py install
Traceback (most recent call last):
  File "setup.py", line 1, in <module>
    from distutils.core import setup
ImportError: No module named distutils.core

我很沮丧 互联网上的所有文章都告诉我如何使用distutils安装模块。但是我如何获得distutils呢?谁能指出我指向distutils的存档?我查看了/usr/lib/local/python2.5、/usr/lib/python2.5等,并且没有发现distutils。

Answers:


6

如果尚未安装setuptools且无法使用程序包管理器的话,最简单的安装方法是下载ez_setup.py并使用适当的Python解释器运行它。即使您有多个Python版本,也可以使用此功能:每个Python只需运行一次ez_setup.py。

编辑:请注意,Python 3的最新版本在发行版中包括setuptools,因此您不再需要单独安装。这里提到的脚本仅与旧版本的Python有关。


3
感谢您的答复,但是没有用。我收到此“ import _md5 ImportError:没有名为_md5的模块”错误。我猜基本的python安装已经搞砸了。我将进行本地安装。还是非常感谢。

2
该脚本的语法似乎已过时。至少它不会在python3.6中运行,因此目前不是一个很好的解决方案。
Jmills

1
@Jmills从3.4版开始的Python包含setuptools,因此无需在最新版本上运行该脚本。有人问了有关Python 2的问题
Duncan

5
@Duncan哦,是的,它确实说Python2-因此在Ubuntu 16.04上安装Python3.6时会遇到此错误,这就是将我带到这里的原因,并将对其sudo apt-get install python3-distutils进行修复。但是您的注释澄清了版本差异。
Jmills

2
看来14.04、16.04都有“内置”功能,但在18.04中,您需要安装python3-distutilsFWIW ...
rogerdpack

202

我知道这是一个老问题,但是我只是在Ubuntu中使用Python 3.6遇到了同样的问题,我可以使用以下命令解决它:

sudo apt-get install python3-distutils

6
该软件包实际上在Ubuntu 16.04中不存在。packages.ubuntu.com/search?keywords=python3-distutils
Nicholi

7
在18.04上像魅力一样工作
栖息地

2
收到错误E:软件包“ python3-distutils”在Ubuntu 18.4中没有安装候选对象
Ganesh,

1
与@Ganesh相同,has no installation candidateUbuntu 16.04.6 LTS
hugo blanc

我已经为python3.7安装了此软件,但是当为python3.6安装时,它显示找不到distutils.utils模块,我该怎么办?
萨塔克

20

如果您无法使用以下任何一种进行安装:

sudo apt-get install python-distutils
sudo apt-get install python3-distutils

尝试以下方法:

sudo apt-get install python-distutils-extra

参考:https : //groups.google.com/forum/#!topic/ beagleboard/ RDlTq8sMxro


我遇到了一个错误: Errors were encountered while processing: oracle-java11-installer-local E: Sub-process /usr/bin/dpkg returned an error code (1)
mLstudent33,19年

但我java -version看起来还不错: java version "11.0.4" 2019-07-16 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.4+10-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.4+10-LTS, mixed mode)
mLstudent33

python3-distutils-extra(在Ubuntu16.04上)和python3-distutils(在python3-distutils-extra上找不到)之间有什么区别?
skytree

Perpackages.debian.org:“此软件包(python3-distutils-extra)为Python的distutils和setuptools提供了附加功能。” 因此,似乎distutils是distutils-extra的依赖项。我不能说为什么安装distutils失败会成功安装distutils-extra。
本阿莫斯


12

您可以安装该python-distutils软件包。sudo apt-get install python-distutils应该足够了。


做不到 它是VPS服务器,我没有sudo权限。我正在考虑安装本地python。要么,要么找到python 2.5的distutils存档。

3
如果要安装本地Python,请切换至2.6或2.7,它们与distutils捆绑在一起。
Manoj Govindan

2
自1999年以来,所有Python都包括distutils。在这里,它看起来像是将标准库分为任意python和python-devel软件包的愚蠢的操作系统之一。
埃里克·阿劳霍

7

我在使用标准Angstrom分布的Beaglebone Black上遇到了此错误。它当前正在运行Python 2.7.3,但不包括distutils。对我来说,解决方案是安装distutils。(它需要su特权。)

    su
    opkg install python-distutils

安装完成后,先前出错的命令运行良好。

    python setup.py build


0

如果系统Python异常(即OS软件包将distutils拆分为python-devel软件包),并且您无法要求sysadmin安装缺少的部分,则必须安装自己的Python。它需要一些头文件和一个编译器工具链。如果没有这些,请尝试在同一台计算机上编译Python并复制它。


-8

您可以尝试安装Python 2.6,

sudo apt-get install python2.6

这应该安装最新的Python以及distutils软件包。


我不能做须藤。我想,我将不得不在本地安装Python。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.