Gelen requirements.txt
kullanıyorum Python kütüphanesi için, şartlardan birini gibi belirtilir:
mock-django~=0.6.10
Ne anlama ~=
geliyor?
Gelen requirements.txt
kullanıyorum Python kütüphanesi için, şartlardan birini gibi belirtilir:
mock-django~=0.6.10
Ne anlama ~=
geliyor?
Yanıtlar:
Bu, paketin en son sürümünü 0.6.10'dan büyük veya buna eşit, ancak yine de 0.6. * Sürümünde seçeceği anlamına gelir, bu nedenle örneğin 0.7.0'ı indirmez. Paket bakımcısı anlamsal sürüm oluşturmaya saygı duyarsa (değişikliklerin yalnızca ana sürümlerde olması gerektiğini belirtir), güvenlik düzeltmeleri almanızı ancak geriye dönük uyumluluğu korumanızı sağlar.
Veya PEP 440'ın söylediği gibi:
Belirli bir yayın tanımlayıcısı VN için uyumlu serbest bırakma cümlesi, karşılaştırma cümleleri çiftine yaklaşık olarak eşdeğerdir:
>= V.N, == V.*
Bu, 'uyumlu sürüm' sürüm belirleyicisidir .
Şuna eşdeğerdir: mock-django >= 0.6.10, == 0.6.*
ve uyumlu olması beklenen bir sürümü eşleştirmenin düzenli bir yoludur. Sade bir İngilizcede, "mock-django'nun en az 0.6.10 kadar yeni bir versiyonuna ihtiyacım var, ancak onunla uyumlu olmayacak kadar yeni değil."
Tüm bu sürüm numarası şeylerinden emin değilseniz, PEP440 sürüm şemasına hızlı bir bakış sizi çözecektir !
Uyumlu bir izin cümlesi, uyumlu yayın operatörü ~ = ve bir sürüm tanımlayıcıdan oluşur. Belirtilen sürümle uyumlu olması beklenen herhangi bir aday sürümle eşleşir.
Buradan daha fazlasını okuyabilirsiniz: https://www.python.org/dev/peps/pep-0440/#compatible-release