Bunun gibi daha fazla komut görüyorum:
$ pip install "splinter[django]"
Bu köşeli parantezler ne işe yarar?
Bunun gibi daha fazla komut görüyorum:
$ pip install "splinter[django]"
Bu köşeli parantezler ne işe yarar?
pip install "splinter[django]"
, desen yanlışlıkla kabuk genişlemesini önlemek için.
Yanıtlar:
Kullandığınız sözdizimi şudur:
pip install "project[extra]"
Sizin durumunuzda, sen eklendi desteği vardır paket . Köşeli parantezler ( ) belirli bir sözdizimi değildir, sadece kuraldır. Gerçekten, adlandırılmış paketi yüklüyorsanız: .installing
splinter
django
[]
"splinter[django]"
Şuradan bir açıklama @chetner
:
Komut
pip install splinter django
,splinter
ve adında iki paket kuracaktırdjango
.splinter[django]
, Öte yandan, için desteğinisplinter
içeren paketin bir varyantını yükler . Paketin kendisiyle hiçbir ilgisi olmadığını , yalnızca etkinleştirilen belirli bir özellik kümesi için paket tarafından tanımlanan bir dize olduğunu unutmayın.django
django
splinter
extra
geliyor?
splinter
ve adlı iki paket kuracaktır django
. splinter[django]
, Öte yandan, splinter
için desteğini içeren paketin bir varyantını yükler django
. django
Paketin kendisiyle hiçbir ilgisi olmadığını , yalnızca splinter
etkinleştirilen belirli bir özellik kümesi için paket tarafından tanımlanan bir dize olduğunu unutmayın.
splinter
hala paket adıdır; pip
kendisi ayrıştırır splinter[django]
ve doğru dosyaları kurmasına yardımcı olmak için fazladan bir "argüman" ile bir paket adı olarak tanır. Argümanın nasıl django
yorumlanacağı tamamen setup.py
paketi tanımlamak için kullanılan dosyaya (veya başka bir yapılandırma dosyasına? Aslında ayrıntıları bilmiyorum) bağlıdır splinter
.
pip install splinter
daha az gereksinim yükleyecektir pip install splinter[django]
. Yüklenen ek paketler gerçekten de kıymığın ek özelliklerinin çalışmasını sağlayabilir (ve muhtemelen yapar), ancak kıymık paketinin kendisi hakkında hiçbir şeyi değiştirmez. Sadece pip'e ek bağımlılıklar hakkında bilgi verir.
[optional]
köşeli parantezler isteğe bağlı bağımlılıkları belirtirBaşka bir geliştiricinin bu kalıbı kendi Python paketi dağıtımında uygulamak istemesi durumunda, burada brackets []
in pip ile ilgili daha fazla açıklama var .
Yüklemek için airflow
gelen pip bu komutu kullanın:
pip install 'apache-airflow'
Aşağıdakilerle isteğe bağlı hava akışı bileşenlerini kurabilirsiniz :
pip install 'apache-airflow[aws]'
# [optional] -----------^
Biz ne zaman arama pypi için apache-airflow
not opsiyonel paketler kadar görünmemesi:
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
Bunun nasıl başarıldığını setup.py
komut dosyasında görebilirsiniz
Solda setup.py
- extras_require
içinde tanımlanmıştır.
Sağda, bu isteğe bağlı alt paketler için ilişkili yükleme komutları vardır.
Bunların kurulum araçları ekstraları olduğundan oldukça eminim:
Bazen bir projenin, projenin tüm kullanımları için gerekli olmayan "önerilen" bağımlılıkları vardır. Örneğin, bir proje ReportLab kuruluysa isteğe bağlı PDF çıktısı ve docutils kuruluysa reStructuredText desteği sunabilir. Bu isteğe bağlı özelliklere "ekstralar" denir ...