ホームページ  >  に質問  >  本文

python - distutils.core和setuptools有什么区别

用pycharm自动生成的setup文件,使用的是distutils.core里的setup

from distutils.core import setup

但我看很多人写的setup,用的是setuptools

from setuptools import setup, find_packages

这个distutils和setuptools分别是什么背景,怎么同样功能出现两个包呢?

阿神阿神2741日前1284

全員に返信(1)返信します

  • 巴扎黑

    巴扎黑2017-04-18 09:29:25

    公式ドキュメントの読み方を学ぶ、distutils 入門 (distutils - python2):

    distutils パッケージは、Python インストールへの追加モジュールの構築とインストールのサポートを提供します。新しいモジュールは、100% 純粋な Python、C で書かれた拡張モジュール、または Python パッケージのコレクションのいずれかです。これには、Python と C の両方でコーディングされたモジュールが含まれます。

    言い換えると、distutils パッケージ全体が Python 拡張モジュールのインストーラーを作成する役割を果たします。
    次に、文書の 2 番目の段落:

    ほとんどの Python ユーザーは、このモジュールを直接使用するのではなく、Python Packaging Authority が管理するクロスバージョン ツールを使用します。特に、setuptools は、以下を提供する distutils の強化された代替ツールです。

    ご覧のとおり、ほとんどの Python ユーザーは、より高度な setuptools モジュールを使用します。このドキュメントには以下にリストされているいくつかの setuptools の利点がありますが、ここでは掲載しません。

    では、なぜ Pycharmdistutils を使用するのでしょうか? setuptoolsのほうが強力ということではないでしょうか?

    理由は簡単です。
    distutilsPython 標準モジュールであり、setuptools はサードパーティ モジュールです。 Pycharm setuptools をインストールしたかどうかはわかりません。無用なトラブルを避けるために、もちろん標準モジュールを使用する必要があります。

    それでは、setuptools.setup が何であるかを見てみましょう。setuptools/__init__.py には次の文があります。 リーリー

    それだけです。

    返事
    0
  • キャンセル返事