用pycharm自动生成的setup文件,使用的是distutils.core里的setup
from distutils.core import setup
但我看很多人写的setup,用的是setuptools
from setuptools import setup, find_packages
这个distutils和setuptools分别是什么背景,怎么同样功能出现两个包呢?
闭关修行中......
公式ドキュメントの読み方を学ぶ、distutils 入門 (distutils - python2):
distutils
distutils パッケージは、Python インストールへの追加モジュールの構築とインストールのサポートを提供します。新しいモジュールは、100% 純粋な Python、C で書かれた拡張モジュール、または Python パッケージのコレクションのいずれかです。これには、Python と C の両方でコーディングされたモジュールが含まれます。
言い換えると、distutils パッケージ全体が Python 拡張モジュールのインストーラーを作成する役割を果たします。 次に、文書の 2 番目の段落:
Python
ほとんどの Python ユーザーは、このモジュールを直接使用するのではなく、Python Packaging Authority が管理するクロスバージョン ツールを使用します。特に、setuptools は、以下を提供する distutils の強化された代替ツールです。
ご覧のとおり、ほとんどの Python ユーザーは、より高度な setuptools モジュールを使用します。このドキュメントには以下にリストされているいくつかの setuptools の利点がありますが、ここでは掲載しません。
setuptools
では、なぜ Pycharm は distutils を使用するのでしょうか? setuptoolsのほうが強力ということではないでしょうか?
Pycharm
理由は簡単です。distutils は Python 標準モジュールであり、setuptools はサードパーティ モジュールです。 Pycharm setuptools をインストールしたかどうかはわかりません。無用なトラブルを避けるために、もちろん標準モジュールを使用する必要があります。
それでは、setuptools.setup が何であるかを見てみましょう。setuptools/__init__.py には次の文があります。 リーリー
setuptools.setup
setuptools/__init__.py
公式ドキュメントの読み方を学ぶ、
distutils
入門 (distutils - python2):言い換えると、
distutils
パッケージ全体がPython
拡張モジュールのインストーラーを作成する役割を果たします。次に、文書の 2 番目の段落:
ご覧のとおり、ほとんどの
Python
ユーザーは、より高度なsetuptools
モジュールを使用します。このドキュメントには以下にリストされているいくつかのsetuptools
の利点がありますが、ここでは掲載しません。では、なぜ
Pycharm
はdistutils
を使用するのでしょうか?setuptools
のほうが強力ということではないでしょうか?理由は簡単です。
distutils
はPython
標準モジュールであり、setuptools
はサードパーティ モジュールです。Pycharm
setuptools
をインストールしたかどうかはわかりません。無用なトラブルを避けるために、もちろん標準モジュールを使用する必要があります。それでは、
それだけです。setuptools.setup
が何であるかを見てみましょう。setuptools/__init__.py
には次の文があります。 リーリー