私はこのようなコマンドをますます見ています:
$ pip install "splinter[django]"
これらの角括弧は何をしますか?
私はこのようなコマンドをますます見ています:
$ pip install "splinter[django]"
これらの角括弧は何をしますか?
pip install "splinter[django]"。
回答:
使用している構文は次のとおりです。
pip install "project[extra]"
あなたの場合、あなたはinstallingのsplinterサポートが追加されたパッケージですdjango。角括弧([])は特定の構文ではなく、単なる慣例です。実際には、次の名前のパッケージをインストールしています"splinter[django]"。
からの説明@chetner:
このコマンド
pip install splinter djangoはsplinter、とという名前の2つのパッケージをインストールしますdjango。splinter[django]一方、バリアントのインストールsplinterが含まれたパッケージのサポートのためにdjango。これはdjangoパッケージ自体とは関係がなく、splinter有効になる特定の機能セットに対してパッケージによって定義された文字列にすぎないことに注意してください。
extra意味ですか?
splinter、とという名前の2つのパッケージをインストールしますdjango。splinter[django]一方、のsplinterサポートを含むパッケージのバリアントをインストールしますdjango。これはdjangoパッケージ自体とは関係がなく、splinter有効になる特定の機能セットに対してパッケージによって定義された文字列にすぎないことに注意してください。
splinterまだパッケージ名です。pipそれ自体が解析しsplinter[django]、正しいファイルをインストールするのに役立つ追加の「引数」を含むパッケージ名として認識します。引数djangoがどのように解釈されるsetup.pyかは、パッケージを定義するために使用されるファイル(または他の構成ファイル?私は実際には詳細を知りません)に完全に依存しますsplinter。
pip install splinterインストールする要件はpip install splinter[django]。よりも少なくなります。インストールされた追加のパッケージは、実際に(そしておそらくそうする)splinterの追加機能を機能させる可能性がありますが、splinterパッケージ自体については何も変更しません。追加の依存関係についてpipに通知するだけです。
[optional]PIPの括弧は、オプションの依存関係を示します別の開発者がこのパターンを独自のPythonパッケージデプロイメントに実装しようとしている場合に備えて、ここbrackets []でinpipの詳細な説明を示します。
pipairflowからインストールするには、次のコマンドを使用します。
pip install 'apache-airflow'
エアフローのオプションのコンポーネントは、次の方法で取り付けることができます。
pip install 'apache-airflow[aws]'
# [optional] -----------^
pypiを検索する と、オプションのパッケージが表示されないことに注意してください。apache-airflow
pip search 'apache-airflow'
apache-airflow (1.10.9) - Programmatically author, schedule and monitor data pipelines
pylint-airflow (0.1.0a1) - A Pylint plugin to lint Apache Airflow code.
swe-airflow-tools (0.0.3) - Tools for Apache Airflow Application
airflow (0.6) - Placeholder for the old Airflow package
...
setup.pyこれがどのように達成されたか
は、-の左側にあるsetup.py スクリプトで確認できます。
右側は、これらのオプションのサブパッケージの相関インストールコマンドです。setup.pyextras_require
これらがsetuptoolsの追加機能であることを確認してください。
プロジェクトに「推奨される」依存関係がある場合がありますが、これはプロジェクトのすべての使用に必要なわけではありません。たとえば、ReportLabがインストールされている場合、プロジェクトはオプションのPDF出力を提供し、docutilsがインストールされている場合はreStructuredTextをサポートする場合があります。これらのオプション機能は「エクストラ」と呼ばれます...
このオプションのパッケージ構文では、次のように複数のエクストラ(角かっこ内のコンマで区切る)が許可されていることを知っておく価値があります。
python -m pip install SomePackage[PDF,EPUB] # multiple extras
あたりとしてピップマニュアル