.
Sorun bildiropen_in_new
Kaynağı gösteropen_in_new
Gece
·
7,3
·
7,2
·
7,1
·
7,0
·
6,5
Kurallar
py_binary
Kural kaynağını görüntüleopen_in_new
py_binary(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, exec_compatible_with, exec_properties, features, imports, legacy_create_init, licenses, main, output_licenses, precompile, precompile_invalidation_mode, precompile_optimize_level, precompile_source_retention, pyc_collection, python_version, restricted_to, srcs_version, stamp, tags, target_compatible_with, testonly, toolchains, visibility)
Bağımsız değişkenler
Özellikler |
name |
Ad; zorunlu
Bu hedef için benzersiz bir ad.
|
deps
|
Etiket listesi; varsayılan değer []
Hedefe bağlanacak ek kitaplıkların listesi.
Genellikle kurallarla tanımlanan [`deps` özelliğiyle](https://bazel.build/reference/be/common-definitions#typical-attributes) ilgili yorumları inceleyin.
Bunlar genellikle "py_library" kurallarıdır.
Yalnızca çalışma zamanında kullanılan veri dosyalarını sağlayan hedefler "veriler"e aittir
özelliğini gönderin.
|
srcs
|
Etiketler listesi; zorunlu
Hedefi oluşturmak için işlenen Python kaynak dosyalarının listesi. Bu
giriş kodunuzun tamamını ve oluşturulan kaynak dosyaları içerebilir. ".py" dosyaları "srcs", kitaplık hedefleri ise "deps" bölümüne girer. Çalışma zamanında ihtiyaç duyulabilecek diğer ikili dosyalar "data" bölümüne girer.
|
data
|
Etiket listesi; varsayılan değer []
Çalışma zamanında bu kitaplığın ihtiyaç duyduğu dosyaların listesi. Şununla ilgili yorumları göster:
genellikle kurallar tarafından tanımlanan ["data" özelliği](https://bazel.build/reference/be/common-definitions#typical-attributes).
"cc_embed_data" ve "go_embed_data" gibi bir "py_embed_data" yoktur. Bunun nedeni, Python'da çalışma zamanı kaynakları kavramının olmasıdır.
|
imports
|
Dize listesi; varsayılan değer [] 'tir.
PYTHONPATH'a eklenecek içe aktarma dizinlerinin listesi.
"Değişken oluştur" yerine koyma işlemine tabidir. Bu içe aktarma dizinleri,
(not: bu kuralın kurallarını değil, bu kuralın
duruma göre değişir. Her dizin "py_binary" kuralları ile "PYTHONPATH" öğesine eklenir
bu kurala göre değişir. Dizeler repo-runfiles-root göreli,
Mutlak yollar ("/" ile başlayan yollar) ve bir yola referans veren yollar
ifadelerinin kullanılmasına izin verilmez ve bu işlem hatayla sonuçlanır.
|
legacy_create_init
|
Integer; varsayılan değer -1
Runfiles ağacında, boş "__init__.py" dosyalarının dolaylı olarak oluşturulup oluşturulmayacağı.
Bunlar Python kaynak kodunu içeren her dizinde oluşturulur veya paylaşılan
kitaplıkları ve depo hariç bu dizinlerin tüm üst dizini
kök dizin. Varsayılan değer olan `-1` (otomatik), `--incompatible_default_to_explicit_init_py` kullanılmıyorsa doğru anlamına gelir. Yanlış ise kullanıcı
`__init__.py` dosyalarını oluşturmaktan ve bunları
Python hedeflerinin "srcs"ini ayarlayın.
|
main
|
Etiket; varsayılan değer None
İsteğe bağlı; uygulamanın ana giriş noktası olan kaynak dosyanın adı. Bu dosya "srcs" öğesinde de listelenmelidir. Belirtilmemişse
Bunun yerine, ".py" eklenmiş "name" kullanılır. "name", "srcs" içindeki dosya adlarından hiçbiriyle eşleşmiyorsa "main" belirtilmelidir.
|
precompile
|
Dize; varsayılan değer "inherit" 'tir
**Bu hedef için** py kaynak dosyalarının önceden derlenip derlenmediği.
Değerler:
* `devral`: {flag}`--preder` işaretinden değeri belirleyin.
* "enabled": Python kaynak dosyalarını derleme sırasında derler. --precompile_add_to_runfiles parametresinin, derlenmiş dosyaların alt akış ikilisine nasıl dahil edildiğini etkilediğini unutmayın.
* "devre dışı": Derleme sırasında Python kaynak dosyalarını derlemeyin.
* `if_generated_source`: Yalnızca oluşturulmuş dosya ise Python kaynak dosyalarını derleyin.
:::{seealso}
* Bazı durumlarda bu özelliği geçersiz kılabilen {flag}`--preder` işareti
ve oluşturma sırasında tüm hedefleri etkiler.
* Şu tarihte önceden derlemeyi geçişli olarak etkinleştirmek için {obj}`pyc_collection` özelliği
ödeme yapar.
* Önceden derlemeyi kullanma hakkında bir kılavuz için [Önceden derleme](önceden derleme) belgeleri.
:::
|
precompile_invalidation_mode
|
String; varsayılan değer "auto"
Önceden derlenmiş dosyaların, ilişkili kaynak dosyalarıyla güncel olup olmadığının nasıl doğrulanacağı. Olası değerler şunlardır:
* `auto`: Etkin değer, diğer derleme ayarlarına göre otomatik olarak belirlenir.
* `checked_hash`: Kaynak dosyanın karması, pyc dosyasında kaydedilen karmayla eşleşirse pyc dosyasını kullanın. Bu özellik, üzerinde değişiklik yapabileceğiniz kodlarla çalışırken en çok işinize yarar.
* `unchecked_hash`: Her zaman pyc dosyasını kullanın; pyc'nin karma değerini kaynak dosyayla karşılaştırmayın. Bu yöntem, kod üzerinde değişiklik yapılmadığında en yararlı yöntemdir.
pyc geçersiz kılma modları hakkında daha fazla bilgi için https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode adresine bakın.
|
precompile_optimize_level
|
Integer; varsayılan değer 0
Önceden derlenmiş dosyalar için optimizasyon düzeyi.
Optimizasyon seviyeleri hakkında daha fazla bilgi için https://docs.python.org/3/library/functions.html#compile adresindeki "compile()` işlevinin "optimize" bağımsız değişkeni belgelerine bakın.
NOT: "-1" değeri "mevcut yorumlayıcı" anlamına gelir. Bu, kodun gerçekten çalıştığı çalışma zamanında kullanılan yorumlayıcı değil, _pyc'lerin oluşturulduğu derleme zamanında_ kullanılan yorumlayıcıdır.
|
precompile_source_retention
|
Dize; varsayılan değer "inherit" 'tir
Kaynak dosyanın ne zaman derlendiğini, kaynak dosyanın saklanıp saklanmayacağını belirler
çıkarımlarda bulunmayacaktır. Geçerli değerler:
* `inherit`: Değeri {flag}`--precompile_source_retention` işaretinden devralın.
* "keep_source": Orijinal Python kaynağını ekleyin.
* "omit_source": Orijinal py kaynağını eklemeyin.
* "omit_if_generate_source": Normal bir kaynaksa orijinal kaynağı korur
dosyası olarak oluşturabilirsiniz, ancak oluşturulmuş bir dosyaysa bunu atlayın.
|
pyc_collection
|
String; varsayılan değer "inherit"
Bağımlılıklardaki pyc dosyalarının manuel olarak eklenip eklenmeyeceğini belirler.
NOT: Bu ayar yalnızca {flag}`--precompile_add_to_runfiles=decided_elsewhere` ile birlikte kullanışlıdır.
Geçerli değerler şunlardır:
* `inherit`: Değeri {flag}`--pyc_collection` parametresinden devralın.
* `include_pyc`: İkili dosyadaki bağımlılıklardan pyc dosyaları ekleyin ({obj}`PyInfo.transitive_pyc_files` değerinden).
* `disabled`: Bağımlılıklardan pyc dosyalarını açıkça eklemeyin. Bir hedef, pyc dosyalarını çalışma dosyalarının bir parçası olarak içeriyorsa (ör. {obj}`--precompile_add_to_runfiles=always` kullanıldığında) bu dosyaların yine de bağımlılıklardan gelebileceğini unutmayın.
|
python_version
|
Dize; varsayılan değer "PY3" 'tir
Devre dışı, kullanılmayan, hiçbir işlem yapmaz.
|
srcs_version
|
Dize; varsayılan değer "PY2AND3" 'tir
Kullanım dışı, kullanılmayan, hiçbir şey yapmaz.
|
stamp
|
Tam sayı; varsayılan değer -1 'tür
Derleme bilgilerinin ikili dosyaya kodlanıp kodlanmayacağı. Olası değerler:
* `stamp = 1`: `--nostamp` derlemelerinde bile derleme bilgilerini her zaman ikili dosyaya damgalayın. İkili dosyanın ve ona bağlı tüm yayın sonrası işlemlerin uzaktan önbelleğe alınmasını engelleyebileceği için **bu ayardan kaçınılmalıdır**.
* `stamp = 0`: Derleme bilgilerini her zaman sabit değerlerle değiştirin. Bu sayede, derleme sonucu önbelleğe iyi bir şekilde alınır.
* `stamp = -1`: Derleme bilgilerinin yerleştirilmesi, `--[no]stamp` işaretçisi tarafından kontrol edilir.
Bağımlılıkları değişmediği sürece damgalı ikili programlar yeniden oluşturulmaz.
UYARI: Damgalama, önbellek isabetlerini azaltarak derleme performansına zarar verebilir ve
kaçınılmalıdır.
|
py_library
Kural kaynağını görüntüleopen_in_new
py_library(name, deps, srcs, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, imports, licenses, precompile, precompile_invalidation_mode, precompile_optimize_level, precompile_source_retention, restricted_to, srcs_version, tags, target_compatible_with, testonly, toolchains, visibility)
Güvenilir bir Python kodu kitaplığı.
Varsayılan çıkışlar:
* Giriş Python kaynakları
* Kaynaklardan alınan önceden derlenmiş eserler.
NOT: Ön derleme, varsayılan çıkışlardan hangilerinin oluşturulan çalıştırma dosyalarına dahil edileceğini etkiler. Daha fazla bilgi için önceden derlemeyle ilgili özelliklere ve işaretlere bakın.
Bağımsız değişkenler
Özellikler |
name |
Ad; zorunlu
Bu hedef için benzersiz bir ad.
|
deps
|
Etiketler listesi; varsayılan değer [] 'dir.
Hedefe bağlanacak ek kitaplıkların listesi.
Şununla ilgili yorumları göster:
genellikle
rules](https://bazel.build/reference/be/common-definitions#typical-attributes).
Bunlar genellikle "py_library" kurallarıdır.
Yalnızca çalışma zamanında kullanılan veri dosyalarını sağlayan hedefler "data" özelliğine aittir.
|
srcs
|
Etiketler listesi; varsayılan değer [] 'dir.
Hedefi oluşturmak için işlenen Python kaynak dosyalarının listesi. Bu, tüm kodunuzu içerir ve oluşturulan kaynak dosyaları içerebilir. İlgili içeriği oluşturmak için kullanılan
".py" dosyaları "srcs" öğesine, kitaplık hedefleri ise "deps"e ait. Diğer ikili
Çalışma zamanında ihtiyaç duyabilecek dosyalar "veriler"e aittir.
|
data
|
Etiket listesi; varsayılan değer []
Bu kitaplığın çalışma zamanında ihtiyaç duyduğu dosyaların listesi. Şu konuyla ilgili yorumları göster:
genellikle kurallar tarafından tanımlanan ["data" özelliği](https://bazel.build/reference/be/common-definitions#typical-attributes).
"cc_embed_data" ve "go_embed_data" gibi "py_embed_data" verileri yoktur.
Bunun nedeni, Python'un bir çalışma zamanı kaynakları kavramı olmasıdır.
|
imports
|
Dize listesi; varsayılan değer [] 'tir.
PYTHONPATH'a eklenecek içe aktarma dizinlerinin listesi.
"Değişken oluştur" yerine koyma işlemine tabidir. Bu içe aktarma dizinleri, bu kural ve bu kurala bağlı tüm kurallar için eklenir (not: bu kuralın bağlı olduğu kurallar için değil). Her dizin, bu kurala bağlı "py_binary" kuralları tarafından "PYTHONPATH"a eklenir. Dizelerin repo-runfiles-root ile ilişkili olması gerekir. Kesin yollara ("/" ile başlayan yollar) ve yürütme kökünün üzerindeki bir yola referans veren yollara izin verilmez ve bu tür yollar hata verir.
|
precompile
|
Dize; varsayılan değer "inherit" 'tir
**Bu hedef için** py kaynak dosyalarının önceden derlenip derlenmediği.
Değerler:
* `devral`: {flag}`--preder` işaretinden değeri belirleyin.
* "enabled": Python kaynak dosyalarını derleme sırasında derler. --precompile_add_to_runfiles parametresinin, derlenmiş dosyaların alt akış ikilisine nasıl dahil edildiğini etkilediğini unutmayın.
* "devre dışı": Derleme sırasında Python kaynak dosyalarını derlemeyin.
* `if_generated_source`: Yalnızca oluşturulmuş dosya ise Python kaynak dosyalarını derleyin.
:::{seealso}
* Bazı durumlarda bu özelliği geçersiz kılabilen {flag}`--preder` işareti
ve oluşturma sırasında tüm hedefleri etkiler.
* Şu tarihte önceden derlemeyi geçişli olarak etkinleştirmek için {obj}`pyc_collection` özelliği
ödeme yapar.
* Önceden derlemeyi kullanma hakkında bir kılavuz için [Önceden derleme](önceden derleme) belgeleri.
:::
|
precompile_invalidation_mode
|
String; varsayılan değer "auto"
Önceden derlenmiş dosyaların, ilişkili kaynak dosyalarıyla güncel olup olmadığının nasıl doğrulanacağı. Olası değerler şunlardır:
* `auto`: Etkin değer, diğer derleme ayarlarına göre otomatik olarak belirlenir.
* `checked_hash`: Kaynak dosyanın karması, pyc dosyasında kaydedilen karmayla eşleşirse pyc dosyasını kullanın. Bu özellik, üzerinde değişiklik yapabileceğiniz kodlarla çalışırken en çok işinize yarar.
* `unchecked_hash`: Her zaman pyc dosyasını kullanın; pyc'nin karma değerini kaynak dosyayla karşılaştırmayın. Bu yöntem, kod üzerinde değişiklik yapılmadığında en yararlı yöntemdir.
pyc geçersiz kılma modları hakkında daha fazla bilgi için https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode adresine bakın.
|
precompile_optimize_level
|
Integer; varsayılan değer 0
Önceden derlenmiş dosyalar için optimizasyon düzeyi.
Optimizasyon seviyeleri hakkında daha fazla bilgi için https://docs.python.org/3/library/functions.html#compile adresindeki "compile()` işlevinin "optimize" bağımsız değişkeni belgelerine bakın.
NOT: "-1" değeri "mevcut yorumlayıcı" anlamına gelir. Bu, kodun gerçekten çalıştığı çalışma zamanında kullanılan yorumlayıcı değil, _pyc'lerin oluşturulduğu derleme zamanında_ kullanılan yorumlayıcıdır.
|
precompile_source_retention
|
Dize; varsayılan değer "inherit" 'tir
Kaynak dosyanın ne zaman derlendiğini, kaynak dosyanın saklanıp saklanmayacağını belirler
çıkarımlarda bulunmayacaktır. Geçerli değerler şunlardır:
* `Inherit`: Değeri {flag}`--preder_source_retention` bayrağından devralır.
* "keep_source": Orijinal Python kaynağını ekleyin.
* "omit_source": Orijinal py kaynağını eklemeyin.
* `omit_if_generated_source`: Normal bir kaynak dosyasıysa orijinal kaynağı koruyun, oluşturulmuş bir dosyaysa dosyayı çıkarın.
|
srcs_version
|
Dize; varsayılan değer "PY2AND3" 'tir
Kullanım dışı, kullanılmayan, hiçbir şey yapmaz.
|
py_test
Kural kaynağını görüntülemeopen_in_new
py_test(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, imports, legacy_create_init, licenses, local, main, precompile, precompile_invalidation_mode, precompile_optimize_level, precompile_source_retention, pyc_collection, python_version, restricted_to, shard_count, size, srcs_version, stamp, tags, target_compatible_with, testonly, timeout, toolchains, visibility)
Bağımsız değişkenler
Özellikler |
name |
Ad; zorunlu
Bu hedef için benzersiz bir ad.
|
deps
|
Etiketler listesi; varsayılan değer [] 'dir.
Hedefe bağlanacak ek kitaplıkların listesi.
Genellikle kurallarla tanımlanan [`deps` özelliğiyle](https://bazel.build/reference/be/common-definitions#typical-attributes) ilgili yorumları inceleyin.
Bunlar genellikle "py_library" kurallarıdır.
Yalnızca çalışma zamanında kullanılan veri dosyalarını sağlayan hedefler "data" özelliğine aittir.
|
srcs
|
Etiketler listesi; zorunlu
Hedefi oluşturmak için işlenen Python kaynak dosyalarının listesi. Bu
giriş kodunuzun tamamını ve oluşturulan kaynak dosyaları içerebilir. ".py" dosyaları "srcs", kitaplık hedefleri ise "deps" bölümüne girer. Çalışma zamanında ihtiyaç duyulabilecek diğer ikili dosyalar "data" bölümüne girer.
|
data
|
Etiketler listesi; varsayılan değer [] 'dir.
Bu kitaplığın çalışma zamanında ihtiyaç duyduğu dosyaların listesi. Genellikle kurallarla tanımlanan [`data` özelliğiyle](https://bazel.build/reference/be/common-definitions#typical-attributes) ilgili yorumları inceleyin.
"cc_embed_data" ve "go_embed_data" gibi bir "py_embed_data" yoktur. Bunun nedeni, Python'da çalışma zamanı kaynakları kavramının olmasıdır.
|
imports
|
Dize listesi; varsayılan değer [] 'tir.
PYTHONPATH'a eklenecek içe aktarma dizinlerinin listesi.
"Değişken oluştur" yerine koyma işlemine tabidir. Bu içe aktarma dizinleri,
(not: bu kuralın kurallarını değil, bu kuralın
duruma göre değişir. Her dizin "py_binary" kuralları ile "PYTHONPATH" öğesine eklenir
bu kurala göre değişir. Dizeler repo-runfiles-root göreli,
Mutlak yollar ("/" ile başlayan yollar) ve bir yola referans veren yollar
ifadelerinin kullanılmasına izin verilmez ve bu işlem hatayla sonuçlanır.
|
legacy_create_init
|
Integer; varsayılan değer -1
Runfiles ağacında dolaylı olarak boş "__init__.py" dosyası oluşturulup oluşturulmayacağı.
Bunlar Python kaynak kodunu içeren her dizinde oluşturulur veya paylaşılan
kitaplıkları ve depo hariç bu dizinlerin tüm üst dizini
kök dizin. Varsayılan değer olan "-1" (otomatik), aksi takdirde doğru anlamına gelir
"--inuyumlu_default_to_explicit_init_py" kullanılmış. Yanlış ise kullanıcı
`__init__.py` dosyalarını oluşturmaktan ve bunları
Python hedeflerinin "srcs"ini ayarlayın.
|
main
|
Etiket; varsayılan değer None
İsteğe bağlı; uygulamanın ana giriş noktası olan kaynak dosyanın adı. Bu dosya "srcs" öğesinde de listelenmelidir. Belirtilmemişse
Bunun yerine, ".py" eklenmiş "name" kullanılır. "ad" herhangi biriyle eşleşmiyorsa
"srcs", "main"te dosya adı belirtilmelidir.
|
precompile
|
Dize; varsayılan değer "inherit" 'tir
**Bu hedef için** py kaynak dosyalarının önceden derlenip derlenmediği.
Değerler:
* `devral`: {flag}`--preder` işaretinden değeri belirleyin.
* "enabled": Python kaynak dosyalarını derleme sırasında derler. --precompile_add_to_runfiles parametresinin, derlenmiş dosyaların alt akış ikilisine nasıl dahil edildiğini etkilediğini unutmayın.
* "devre dışı": Derleme sırasında Python kaynak dosyalarını derlemeyin.
* `if_generated_source`: Yalnızca oluşturulmuş dosya ise Python kaynak dosyalarını derleyin.
:::{seealso}
* Bazı durumlarda bu özelliği geçersiz kılabilen {flag}`--preder` işareti
ve oluşturma sırasında tüm hedefleri etkiler.
* Şu tarihte önceden derlemeyi geçişli olarak etkinleştirmek için {obj}`pyc_collection` özelliği
ödeme yapar.
* Önceden derlemeyi kullanma hakkında bir kılavuz için [Önceden derleme](önceden derleme) belgeleri.
:::
|
precompile_invalidation_mode
|
String; varsayılan değer "auto"
Önceden derlenmiş dosyaların, ilişkili kaynak dosyalarıyla güncel olup olmadığının nasıl doğrulanacağı. Olası değerler şunlardır:
* `auto`: Etkin değer, diğer derleme ayarlarına göre otomatik olarak belirlenir.
* `checked_hash`: Kaynak dosyanın karması, pyc dosyasında kaydedilen karmayla eşleşirse pyc dosyasını kullanın. Bu özellik, üzerinde değişiklik yapabileceğiniz kodlarla çalışırken en çok işinize yarar.
* `unchecked_hash`: Her zaman pyc dosyasını kullanın; pyc'nin karma değerini kaynak dosyayla karşılaştırmayın. Bu yöntem, kod üzerinde değişiklik yapılmadığında en yararlı yöntemdir.
pyc geçersiz kılma modları hakkında daha fazla bilgi için https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode adresine bakın.
|
precompile_optimize_level
|
Integer; varsayılan değer 0
Önceden derlenmiş dosyalar için optimizasyon düzeyi.
Optimizasyon seviyeleri hakkında daha fazla bilgi için https://docs.python.org/3/library/functions.html#compile adresindeki "compile()` işlevinin "optimize" bağımsız değişkeni belgelerine bakın.
NOT: "-1" değeri "mevcut yorumlayıcı" anlamına gelir. Bu, kodun gerçekten çalıştığı çalışma zamanında kullanılan yorumlayıcı değil, _pyc'lerin oluşturulduğu derleme zamanında_ kullanılan yorumlayıcıdır.
|
precompile_source_retention
|
Dize; varsayılan değer "inherit" 'tir
Kaynak dosyanın ne zaman derlendiğini, kaynak dosyanın saklanıp saklanmayacağını belirler
çıkarımlarda bulunmayacaktır. Geçerli değerler:
* `inherit`: Değeri {flag}`--precompile_source_retention` işaretinden devralın.
* "keep_source": Orijinal Python kaynağını ekleyin.
* "omit_source": Orijinal py kaynağını eklemeyin.
* "omit_if_generate_source": Normal bir kaynaksa orijinal kaynağı korur
dosyası olarak oluşturabilirsiniz, ancak oluşturulmuş bir dosyaysa bunu atlayın.
|
pyc_collection
|
String; varsayılan değer "inherit"
Bağımlılıklardaki pyc dosyalarının manuel olarak eklenip eklenmeyeceğini belirler.
NOT: Bu ayar yalnızca {flag}`--precompile_add_to_runfiles=decided_elsewhere` ile birlikte kullanışlıdır.
Geçerli değerler şunlardır:
* `inherit`: Değeri {flag}`--pyc_collection` parametresinden devralın.
* `include_pyc`: İkili dosyadaki bağımlılıklardan pyc dosyaları ekleyin ({obj}`PyInfo.transitive_pyc_files` değerinden).
* `disabled`: Bağımlılıklardan pyc dosyalarını açıkça eklemeyin. Bir hedef, pyc dosyalarını çalışma dosyalarının bir parçası olarak içeriyorsa (ör. {obj}`--precompile_add_to_runfiles=always` kullanıldığında) bu dosyaların yine de bağımlılıklardan gelebileceğini unutmayın.
|
python_version
|
Dize; varsayılan değer "PY3" 'tir
Devre dışı, kullanılmayan, hiçbir işlem yapmaz.
|
srcs_version
|
Dize; varsayılan değer "PY2AND3" 'tir
Kullanım dışı, kullanılmayan, hiçbir şey yapmaz.
|
stamp
|
Tam sayı; varsayılan değer 0 'tür
Derleme bilgilerinin ikili programda kodlanıp kodlanmayacağını belirler. Olası değerler:
* `stamp = 1`: `--nostamp` derlemelerinde bile derleme bilgilerini her zaman ikili dosyaya damgalayın. **Bu ayardan kaçınılmalıdır,** çünkü
uzaktan önbelleğe alma ve buna bağlı tüm aşağı akış işlemleri.
* `stamp = 0`: Derleme bilgilerini her zaman sabit değerlerle değiştirin. Bu sayede, derleme sonucu önbelleğe iyi bir şekilde alınır.
* `stamp = -1`: Derleme bilgilerinin yerleştirilmesi, `--[no]stamp` işaretçisi tarafından kontrol edilir.
Damgalanmış ikili dosyalar, bağımlılıkları değişmediği sürece yeniden derlenmez.
UYARI: Damgalama, önbellek isabetlerini azaltarak derleme performansına zarar verebilir ve
kaçınılmalıdır.
|
py_runtime
Kural kaynağını görüntüleopen_in_new
py_runtime(name, bootstrap_template, compatible_with, coverage_tool, deprecation, distribs, exec_compatible_with, exec_properties, features, files, implementation_name, interpreter, interpreter_path, interpreter_version_info, pyc_tag, python_version, restricted_to, stage2_bootstrap_template, stub_shebang, tags, target_compatible_with, testonly, toolchains, visibility, zip_main_template)
Python kodunu yürütmek için kullanılan bir Python çalışma zamanını temsil eder.
"py_runtime" hedefi, *platform çalışma zamanı* veya *yerleşik çalışma zamanı* temsil edebilir. Platform çalışma zamanı, bilinen bir yolda sistem tarafından yüklenen bir yorumlayıcıya erişirken yerleşik çalışma zamanı, yorumlayıcı görevi gören bir yürütülebilir hedefi işaret eder. Her iki durumda da "yorumlayıcı", standart CPython yorumlayıcısıyla aynı kurallara uyarak komut satırında iletilen bir Python komut dosyasını çalıştırabilen tüm yürütülebilir ikili dosyalar veya sarmalayıcı komut dosyalarını ifade eder.
Platform çalışma zamanı, doğası gereği hermetik değildir. Hedef platformda belirli bir yolda bir yorumlayıcı bulunması şartı getirir.
dahili çalışma zamanının hermetik özellikte olup olmadığına bağlı olarak
giriş yapılmış bir çevirmen veya sisteme erişen bir sarmalayıcı komut dosyası
kullanabilirsiniz.
Örnek
```
load("@rules_python//python:py_runtime.bzl", "py_runtime")
py_runtime(
name = "python-2.7.12",
files = glob(["python-2.7.12/**"]),
interpreter = "python-2.7.12/bin/python",
)
py_runtime(
name = "python-3.6.0",
interpreter_path = "/opt/pyenv/versions/3.6.0/bin/python",
)
```
Bağımsız değişkenler
Özellikler |
name |
Ad; zorunlu
Bu hedef için benzersiz bir ad.
|
bootstrap_template
|
Etiket; varsayılan değer "@rules_python//python/private:bootstrap_template"
Kullanılacak önyükleme komut dosyası şablon dosyası. %python_binary% olmalıdır.
%workspace_name%, %main% ve %imports%.
Bu şablon, genişletme işleminden sonra
Bu nedenle, kullanıcı edinme gibi
ilk önyükleme işlemlerinden
çalıştırması ve bu komut dosyasını çalıştıracak bir ortam oluşturma
Python uygulamasıdır.
Bu özellik şu anda isteğe bağlı olsa da Python kuralları Bazel'den çıkarıldığında zorunlu hale gelecektir.
Genişletilmiş tam değişken adları kararsız bir API'dir ve değişiklik gösterebilir.
Python kuralları Bazel'den çıkarıldığında API daha kararlı hale gelecektir.
Daha fazla değişken için @bazel_tools//tools/python:python_bootstrap_template.txt dosyasına bakın.
|
coverage_tool
|
Etiket; varsayılan değer None
Bu, {rule}`py_binary` ve {rule}`py_test` hedeflerinden kod kapsamı bilgilerini toplamak için kullanılacak bir hedeftir.
Ayarlanırsa hedef, tek bir dosya oluşturmalı veya yürütülebilir bir hedef olmalıdır.
Tek dosyanın yolu veya hedef yürütülebilir bir dosyaysa yürütülebilir dosyanın yolu, python kapsam aracının giriş noktasını belirler. Hedef ve
çalıştırma dosyaları, kapsam etkinleştirildiğinde çalıştırma dosyalarına eklenir.
Aracın giriş noktası, bir Python yorumlayıcısı tarafından yüklenebilir olmalıdır (ör.
".py" veya ".pyc" dosyası). Komut satırı bağımsız değişkenlerini kabul etmelidir
[`coverage.py`](https://coverage.readthedocs.io), en az
"run" ve "lcov" alt komutlarını içerir.
|
files
|
Etiketler listesi; varsayılan değer [] 'dir.
Derleme içi çalışma zamanı için bu çalışma zamanını oluşturan dosya kümesi budur.
Bu dosyalar, bunu kullanan Python ikili programlarının çalıştırma dosyalarına eklenir
belirler. Platform çalışma zamanı için bu özellik ayarlanmamalıdır.
|
implementation_name
|
Dize; varsayılan değer "" 'tir
Python uygulama adı ("sys.implementation.name")
|
interpreter
|
Etiket; varsayılan değer None
Derleme içi çalışma zamanı için yorumlayıcı olarak çağrılacak hedef budur. Google
şunlardan biri olabilir:
* Çevirmen ikili programı olacak tek bir dosya. Bu tür yorumlayıcıların kendi kendine yeten tek dosyalık yürütülebilir dosyalar olduğu veya destekleyici dosyaların "dosyalar" bölümünde belirtildiği varsayılır.
* Yürütülebilir bir hedef. Hedefin yürütülebilir dosyası, yorumlayıcı ikili dosyası olacaktır.
Diğer varsayılan çıkışlar ("target.files") ve düz dosyalar çalıştırma dosyaları
(`runfiles.files`),
"files" özelliğiyle birleştirilir.
NOT: Hedefin çalıştırma dosyalarına henüz gerektiği gibi uygulanmayabilir/yayılmayabilir
araç zincirinin/yorumlayıcının tüketicilerine göstermek için
bazelbuild/rules_python/issues/1612
Platform çalışma zamanı için (ör. "interpreter_path" ayarlanmış)
ayarlanmadı.
|
interpreter_path
|
String; varsayılan değer ""
Platform çalışma zamanı için bu,
karar vermelisiniz. Yerleşik çalışma zamanında bu özellik ayarlanmamalıdır.
|
interpreter_version_info
|
Sözlük: Dize -> Dize; varsayılan değer {} 'tir
Bu çalışma zamanında sağlanan yorumlayıcıyla ilgili sürüm bilgileri.
Belirtilmemişse {obj}`--python_version` kullanılır
Desteklenen anahtarlar, `sys.version_info` adlarıyla eşleşir. Giriş değerleri dize olsa da çoğu int'e dönüştürülür. Desteklenen anahtarlar şunlardır:
* major: int, ana sürüm numarası
* minor: int, alt sürüm numarası
* micro: isteğe bağlı int, mikro sürüm numarası
* releaselevel: isteğe bağlı str, sürüm seviyesi
* serial: isteğe bağlı int, sürümün seri numarası
:::{versionchanged} 0.36.0
{obj}`--python_version`, varsayılan değeri belirler.
:::
|
pyc_tag
|
Dize; varsayılan değer "" 'tir
İsteğe bağlı dize; pyc dosya adının etiket bölümü, ör. "cpython-39" infixi
"foo.cpython-39.pyc". bkz. PEP 3147. Belirtilmemişse "implementation_name" ve "interpreter_version_info" değerleri kullanılarak hesaplanır. pyc_tag yoksa yalnızca kaynaksız pyc oluşturma işlemi düzgün çalışır.
|
python_version
|
String; varsayılan değer "PY3"
Bu çalışma zamanının Python ana sürümü 2 mi yoksa 3 mü olduğu. Geçerli değerler "PY2" ve "PY3"dir.
Varsayılan değer, `--incompatible_py3_is_default` işaretçisi tarafından kontrol edilir.
Ancak gelecekte bu özellik zorunlu olacak ve varsayılan bir değeri olmayacak.
|
stage2_bootstrap_template
|
Etiket; varsayılan değer "@rules_python//python/private:stage2_bootstrap_template" 'dir.
İki aşamalı önyükleme etkinleştirildiğinde kullanılacak şablon
:::{seealso}
{obj}"PyRuntimeInfo.stage2_bootstrap_template" ve {obj}`--bootstrap_impl`
:::
|
stub_shebang
|
Dize; varsayılan değer "#!/usr/bin/env python3" 'tir
{rule}`py_binary` hedefleri yürütülürken kullanılan önyükleme Python stub komut dosyasına eklenen "Shebang" ifadesi.
Nedenini öğrenmek için https://github.com/bazelbuild/bazel/issues/8685 adresine bakın.
Windows için geçerli değildir.
|
zip_main_template
|
Etiket; varsayılan değer "@rules_python//python/private:zip_main_template"
Bir zip'in üst düzey "__main__.py" dosyası için kullanılacak şablon.
Bu, "python foo.zip" çalıştırıldığında yürütülen giriş noktası olur.
:::{seealso}
{obj}"PyRuntimeInfo.zip_main_template" alanı.
:::
|