web-dev-qa-db-ja.com

pipインストールで角括弧は何を意味しますか?

次のようなコマンドが増えています。

$ pip install "splinter[Django]"

これらの角かっこは何をしますか?

50

使用している構文は次のとおりです。

pip install "project[extra]"

あなたの場合、あなたはinstallingのサポートが追加されたsplinterパッケージであるDjangoです。角括弧([])は特定の構文ではなく、単なる規則です。実際、"splinter[Django]"という名前のパッケージをインストールしています。

@chetnerからの説明:

コマンドpip install splinter Djangoは、splinterおよびDjangoという名前の2つのパッケージをインストールします。一方、splinter[Django]は、splintersupportを含むDjangoパッケージのバリアントをインストールします。 Djangoパッケージ自体とは関係ありませんが、有効にされる特定の機能セットに対してsplinterパッケージによって定義された単なる文字列であることに注意してください。

51
Joe Iddon

これらがsetuptoolsのエキストラであることを確認してください:

https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies

プロジェクトには、「推奨」依存関係がある場合がありますが、これはプロジェクトのすべての使用に必要なわけではありません。たとえば、ReportLabがインストールされている場合、プロジェクトはオプションのPDF出力を提供し、docutilsがインストールされている場合はreStructuredTextをサポートします。これらのオプション機能は「extras」と呼ばれます...

6
Paul

これは、まさにsetup.pyプロジェクトのファイル question

"Django": ["Django>=1.7.11;python_version<'3.0'", "Django>=2.0.6;python_version>'3.3'", "lxml>=2.3.6", "cssselect", "six"],
2
prosti