【问题标题】:how to install python distutils如何安装 python distutils
【发布时间】:2011-04-18 03:41:05
【问题描述】:

我刚刚在 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。

【问题讨论】:

    标签: python distutils


    【解决方案1】:

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

    【讨论】:

    • 不能那样做。它是一个 VPS 服务器,我没有 sudo 权限。我正在考虑安装本地python。要么,要么我找到 python 2.5 的 distutils 存档。
    • 如果您将本地 Python 切换到 2.6 或 2.7,它们会附带 distutils 捆绑。
    • 自 1999 年以来所有 Python 都包含 distutils。这里看起来像是将标准库拆分为任意 python 和 python-devel 包的愚蠢操作系统之一。
    【解决方案2】:

    当 setuptools 不存在并且您无法使用包管理器时,安装它的最简单方法是下载 ez_setup.py 并使用适当的 Python 解释器运行它。即使您有多个 Python 版本,这也有效:只需对每个 Python 运行一次 ez_setup.py。

    编辑:请注意,最新版本的 Python 3 在发行版中包含 setuptools,因此您不再需要单独安装。这里提到的脚本只适用于旧版本的 Python。

    【讨论】:

    • 感谢您的回复,但没有成功。我收到此“import _md5 ImportError:没有名为 _md5 的模块”错误。我猜基本的python安装很糟糕。我将使用本地安装。还是非常感谢。
    • 那个脚本的语法似乎已经过时了。至少它不会在 python3.6 中运行,所以目前不是一个很好的解决方案。
    • @Jmills Python 从 3.4 开始包含 setuptools,因此无需在最新版本上运行该脚本。这个问题是关于 Python 2 的。
    • @Duncan 哦,是的,它确实说 Python2 - 所以在 Ubuntu 16.04 上安装 Python3.6 可能会遇到这个错误,这就是把我带到这里的原因,sudo apt-get install python3-distutils 会修复它。但是您的说明澄清了版本差异。
    • 似乎 14.04、16.04 都“内置”了它,但在 18.04 中您需要安装 python3-distutils FWIW...
    【解决方案3】:

    如果系统 Python 很糟糕(即操作系统包将 distutils 拆分为 python-devel 包)并且您不能要求系统管理员安装缺少的部分,那么您必须安装自己的 Python。它需要一些头文件和编译器工具链。如果你没有这些,请尝试在同一台计算机上编译 Python 并复制它。

    【讨论】:

      【解决方案4】:

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

          su
          opkg install python-distutils
      

      安装后,之前出错的命令运行良好。

          python setup.py build
      

      【讨论】:

        【解决方案5】:

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

        sudo apt-get install python3-distutils
        

        【讨论】:

        • 这个包在 Ubuntu 16.04 中根本不存在。 packages.ubuntu.com/search?keywords=python3-distutils
        • 在 18 月 4 日像魅力一样工作
        • 出现错误 E:包 'python3-distutils' 在 Ubuntu 18.4 中没有安装候选者
        • 与@Ganesh、has no installation candidate Ubuntu 16.04.6 LTS 相同
        • 可以为特定版本安装它。在(...) python3-distutils 的输出告诉我之后,我用sudo apt-get install python3.9-distutils 尝试了它,尽管我将python3 设置为3.9,但它在3.6 版中是最新的。并且有效
        【解决方案6】:

        你可以通过root权限使用sudo apt-get install python3-distutils

        我相信它有效here

        【讨论】:

          【解决方案7】:

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

          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)
          • 但我的 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)
          • python3-distutils-extra(在 Ubuntu16.04 上)和python3-distutils(在 python3-distutils-extra 上找不到)有什么区别?
          • Per packages.debian.org:“这个包 (python3-distutils-extra) 为 Python 的 distutils 和 setuptools 提供了额外的功能。”因此,distutils 似乎是 distutils-extra 的依赖项。为什么在安装 distutils 失败的情况下安装 distutils-extra 会成功,我不能说。
          【解决方案8】:

          如果您使用的是最新版本的 Ubuntu(或 Linux Mint 之类的变体)之一,它是 Python 3.8 附带的,那么您将无法使用 Python3.7 distutils,别名不能在 Python 3.7 中使用 pippipenv,请参阅: How to install python-distutils for old python versions

          显然使用Python3.8是没有问题的。

          【讨论】:

            【解决方案9】:

            通过搜索所有与python-distutils相关的包:

            apt-cache search x
            

            我得到了 python3-distutils-extra - Python3 构建系统的增强

            那就试试吧:

            sudo apt-get install python3-distutils-extra
            

            【讨论】:

              【解决方案10】:

              未找到模块可能意味着未安装软件包。

              Debian 已决定 distutils 不是核心 python 软件包,因此它不包含在 debian 和基于 debian 的操作系统的最新版本中。你应该可以做到

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

              【讨论】:

                【解决方案11】:

                这对我不起作用:sudo apt-get install python-distutils

                所以,我尝试了这个:sudo apt-get install python3-distutils

                【讨论】:

                  猜你喜欢
                  • 2020-08-17
                  • 2015-03-01
                  • 2010-09-23
                  • 2010-11-28
                  • 2014-12-12
                  • 2013-07-22
                  • 2011-12-22
                  • 2012-05-22
                  相关资源
                  最近更新 更多