誰がそれが何でsetup.py
あり、どのように構成または使用できるかを説明できますか?
10 に答える
setup.py
このファイルが存在するということは、インストールしようとしているモジュール/パッケージが、Python モジュールを配布するための標準である Distutils でパッケージ化および配布されている可能性が高いことを示しています。
これにより、Python パッケージを簡単にインストールできます。多くの場合、次のように書くだけで十分です。
$ pip install .
pip
モジュールのインストールに使用setup.py
します。setup.py
直接電話することは避けてください。
https://docs.python.org/3/installing/index.html#installing-index
setup.py
マルチプラットフォームのインストーラーとmake
ファイルに対する Python の回答です。
コマンド ライン インストールに精通している場合は、 にmake && make install
変換されpython setup.py build && python setup.py install
ます。
一部のパッケージは純粋な Python であり、バイト コンパイルのみです。gcc
その他には、ネイティブ コンパイラ (または などcl
) と Python インターフェイス モジュール (swig
またはなど)を必要とするネイティブ コードが含まれる場合がありますpyrex
。
ルートフォルダーに「setup.py」を含むパッケージをダウンロードした場合は、実行してインストールできます
python setup.py install
プロジェクトを開発していて、このファイルが何に役立つのか疑問に思っている場合は、セットアップ スクリプトの記述に関する Python ドキュメントを確認してください。
setup.py
通常、ライブラリまたはプログラムに同梱されている Python スクリプトで、その言語で記述されています。その目的は、ソフトウェアを正しくインストールすることです。
多くのパッケージは、distutils
フレームワークと組み合わせて使用しsetup.py
ます。
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
ダウンロードした 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 を実行するだけであることは理解しています)。すべてのコマンドが同じパッケージ マネージャー アプリケーションに向けられていることには、調和があります。あなたもそれを好きになるかもしれません。