다음과 같은 명령이 점점 더 많이 표시됩니다.
$ pip install "splinter[django]"
이 대괄호는 무엇을합니까?
답변
사용중인 구문은 다음과 같습니다.
pip install "project[extra]"
귀하의 경우 귀하 는에 대한 추가 지원 이 installing
있는 splinter
패키지입니다 django
. 대괄호 ( []
)는 특정 구문이 아니라 관례 일뿐입니다. 실제로라는 패키지를 설치하고 "splinter[django]"
있습니다.
의 설명 @chetner
:
이 명령
pip install splinter django
은splinter
및 라는 두 개의 패키지를 설치합니다django
.splinter[django]
반면splinter
에는에 대한 지원 을 포함 하는 패키지 변형을 설치합니다django
.django
패키지 자체 와는 아무런 관련이 없지만splinter
활성화되는 특정 기능 세트 에 대해 패키지에서 정의한 문자열 일뿐 입니다.
답변
[optional]
PIP의 대괄호 는 선택적 종속성을 나타냅니다.
다른 개발자가 자신의 Python 패키지 배포에서이 패턴을 구현하려는 경우를 대비하여 brackets []
in pip에 대한 추가 설명이 있습니다.
예 : Apache Airflow
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.py
– extras_require
정의되어 있습니다.
오른쪽에는 이러한 선택적 하위 패키지에 대한 상관 설치 명령이 있습니다.
답변
다음은 setuptools 추가 사항입니다.
때로는 프로젝트의 모든 용도에 필요하지 않은 “권장”종속성이있는 경우가 있습니다. 예를 들어 프로젝트는 ReportLab이 설치된 경우 선택적 PDF 출력을 제공하고 docutils가 설치된 경우 reStructuredText 지원을 제공 할 수 있습니다. 이러한 선택적 기능을 “추가”라고합니다.
답변
답변
이 선택적 패키지 구문은 다음과 같이 여러 개의 추가 항목 (괄호 안에 쉼표로 구분)을 허용한다는 것을 아는 것이 좋습니다.
python -m pip install SomePackage[PDF,EPUB] # multiple extras
당으로 핍 설명서