用pycharm自动生成的setup文件,使用的是distutils.core里的setup
from distutils.core import setup
但我看很多人写的setup,用的是setuptools
from setuptools import setup, find_packages
这个distutils和setuptools分别是什么背景,怎么同样功能出现两个包呢?
巴扎黑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
の利点がありますが、ここでは掲載しません。
では、なぜ Pycharm
は distutils
を使用するのでしょうか? setuptools
のほうが強力ということではないでしょうか?
理由は簡単です。distutils
は Python
標準モジュールであり、setuptools
はサードパーティ モジュールです。 Pycharm
setuptools
をインストールしたかどうかはわかりません。無用なトラブルを避けるために、もちろん標準モジュールを使用する必要があります。
それでは、setuptools.setup
が何であるかを見てみましょう。setuptools/__init__.py
には次の文があります。
リーリー