1343

誰がそれが何でsetup.pyあり、どのように構成または使用できるかを説明できますか?

4

10 に答える 10

974

setup.pyこのファイルが存在するということは、インストールしようとしているモジュール/パッケージが、Python モジュールを配布するための標準である Distutils でパッケージ化および配布されている可能性が高いことを示しています。

これにより、Python パッケージを簡単にインストールできます。多くの場合、次のように書くだけで十分です。

$ pip install . 

pipモジュールのインストールに使用setup.pyします。setup.py直接電話することは避けてください。

https://docs.python.org/3/installing/index.html#installing-index

于 2009-09-24T14:19:35.300 に答える
120

setup.pyマルチプラットフォームのインストーラーとmakeファイルに対する Python の回答です。

コマンド ライン インストールに精通している場合は、 にmake && make install変換されpython setup.py build && python setup.py installます。

一部のパッケージは純粋な Python であり、バイト コンパイルのみです。gccその他には、ネイティブ コンパイラ (または などcl) と Python インターフェイス モジュール (swigまたはなど)を必要とするネイティブ コードが含まれる場合がありますpyrex

于 2009-09-24T15:29:09.360 に答える
63

ルートフォルダーに「setup.py」を含むパッケージをダウンロードした場合は、実行してインストールできます

python setup.py install

プロジェクトを開発していて、このファイルが何に役立つのか疑問に思っている場合は、セットアップ スクリプトの記述に関する Python ドキュメントを確認してください。

于 2009-09-24T14:21:46.973 に答える
24

setup.py通常、ライブラリまたはプログラムに同梱されている Python スクリプトで、その言語で記述されています。その目的は、ソフトウェアを正しくインストールすることです。

多くのパッケージは、distutilsフレームワークと組み合わせて使用​​しsetup.pyます。

http://docs.python.org/distutils/

于 2009-09-24T14:21:58.963 に答える
21

setup.py は 2 つのシナリオで使用できます。まず、Python パッケージをインストールします。次に、独自の Python パッケージを作成します。通常、標準の Python パッケージには、setup.py、setup.cfg、Manifest.in などの重要なファイルがいくつか含まれています。Python パッケージを作成するとき、これら 3 つのファイルによって (egg-info フォルダーの下の PKG-INFO の内容)、名前、バージョン、説明、その他の必要なインストール (通常は .txt ファイル)、およびその他のいくつかのパラメーターが決定されます。setup.cfg は、パッケージの作成中に setup.py によって読み取られます ( tar.gz の可能性があります)。Manifest.in は、パッケージに含めるものを定義できる場所です。とにかく、setup.pyのようなものを使ってたくさんのことをすることができます

python setup.py build
python setup.py install
python setup.py sdist <distname> upload [-r urltorepo]  (to upload package to pypi or local repo)

setup.py で使用できる他のコマンドがたくさんあります。助けを求める

python setup.py --help-commands
于 2013-04-18T16:29:38.233 に答える
6

ダウンロードした Python パッケージをインストールするには、アーカイブを展開し、内部で setup.py スクリプトを実行します。

python setup.py install

私にとって、これはいつも奇妙に感じました。Ruby や Nodejs で行うように、ダウンロード時にパッケージ マネージャーを指定する方が自然です。gem install rails-4.1.1.gem

パッケージ マネージャーも使い慣れていて信頼できるため、より快適です。一方、setup.pyパッケージに固有であるため、それぞれが斬新です。「私はこの setup.py が過去に使用した他のコマンドと同じコマンドを使用することを信頼します」という規則への信頼が必要です。これは精神的意志力に対する残念な負担です。

setup.py ワークフローがパッケージ マネージャーよりも安全性が低いと言っているわけではありません (Pip が内部で setup.py を実行するだけであることは理解しています)。すべてのコマンドが同じパッケージ マネージャー アプリケーションに向けられていることには、調和があります。あなたもそれを好きになるかもしれません。

于 2014-06-02T15:52:36.143 に答える