Sorun bildiropen_in_new
Kaynağı görüntüleopen_in_new
Nightly
·
7.4
.
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
|
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, tüm kodunuzu içerir 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, 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.
Mutlak yollara ("/" ile başlayan yollar) ve yürütme kökünün üstündeki bir yola referans veren yollara izin verilmez ve bu tür yollar hata verir.
|
legacy_create_init
|
Tam sayı; varsayılan değer -1 'tür
Runfiles ağacında, boş "__init__.py" dosyalarının dolaylı olarak oluşturulup oluşturulmayacağı.
Bunlar, Python kaynak kodu veya paylaşılan kitaplıklar içeren her dizinde ve depo kök dizini hariç bu dizinlerin her üst dizininde oluşturulur. 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ı (boş olabilir) oluşturmaktan ve gerektiğinde Python hedeflerinin "srcs" bölümüne eklemekten sorumludur.
|
main
|
Etiket; varsayılan değer None 'dir.
İsteğe bağlı; uygulamanın ana giriş noktası olan kaynak dosyanın adı. Bu dosya, `srcs` içinde de listelenmelidir. Belirtilmemişse bunun yerine, `.py` eklenmiş şekilde `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 derlenmeyeceği.
Değerler:
* `inherit`: Değeri {flag}`--precompile` işaretinden belirleyin.
* `enabled`: Python kaynak dosyalarını derleme zamanında derleyin. --precompile_add_to_runfiles parametresinin, derlenmiş dosyaların alt akış ikilisine nasıl dahil edildiğini etkilediğini unutmayın.
* `disabled`: Python kaynak dosyaları derleme sırasında derlenmez.
* `if_generated_source`: Yalnızca oluşturulmuş dosya ise Python kaynak dosyalarını derleyin.
:::{seealso}
* Bazı durumlarda bu özelliği geçersiz kılabilen ve derleme sırasında tüm hedefleri etkileyen {flag}`--precompile` işaretçisi.
* Hedef bazında önceden derlemeyi geçişli olarak etkinleştirmek için {obj}`pyc_collection` özelliği.
* Önceden derlemeyi kullanmayla ilgili kılavuz için [Önceden derleme](precompiling) dokümanları.
:::
|
precompile_invalidation_mode
|
Dize; varsayılan değer "auto" 'tir
Ö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ılmayacağı durumlarda en yararlı olanıdır.
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
|
Tam sayı; varsayılan değer 0 'tür
Ö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
Bir kaynak dosya derlenirken kaynak dosyanın elde edilen çıkışta tutulup tutulmayacağını belirler. Geçerli değerler:
* `inherit`: Değeri {flag}`--precompile_source_retention` işaretinden devralın.
* `keep_source`: Orijinal Python kaynağını dahil edin.
* `omit_source`: Orijinal py kaynağını dahil etmeyin.
* `omit_if_generated_source`: Normal bir kaynak dosyasıysa orijinal kaynağı koruyun, oluşturulmuş bir dosyaysa dosyayı çıkarın.
|
pyc_collection
|
Dize; varsayılan değer "inherit" 'tir
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
Devre dışı, kullanılmayan, hiçbir işlem 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, iyi bir derleme sonucu önbelleğe alma sağlar.
* `stamp = -1`: Derleme bilgilerinin yerleştirilmesi, `--[no]stamp` işaretçisi tarafından kontrol edilir.
Damgalanmış ikili dosyalar, bağımlılıklarının değişmesi dışında yeniden derlenmez.
UYARI: Damgalama, önbellek isabetlerini azaltarak derleme performansını olumsuz etkileyebilir. Mümkünse damgalamaya karşı önlem alınmalıdır.
|
py_library
Kural kaynağını görüntülemeopen_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ı
* Kaynaklardaki önceden derlenmiş yapılardır.
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.
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; 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. ".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, 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.
Mutlak yollara ("/" ile başlayan yollar) ve yürütme kökünün üstündeki 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 derlenmeyeceği.
Değerler:
* `inherit`: Değeri {flag}`--precompile` işaretinden belirleyin.
* `enabled`: Python kaynak dosyalarını derleme zamanında derleyin. --precompile_add_to_runfiles parametresinin, derlenmiş dosyaların alt akış ikilisine nasıl dahil edildiğini etkilediğini unutmayın.
* `disabled`: Python kaynak dosyaları derleme sırasında derlenmez.
* `if_generated_source`: Yalnızca oluşturulmuş dosya ise Python kaynak dosyalarını derleyin.
:::{seealso}
* Bazı durumlarda bu özelliği geçersiz kılabilen ve derleme sırasında tüm hedefleri etkileyen {flag}`--precompile` işaretçisi.
* Hedef bazında önceden derlemeyi geçişli olarak etkinleştirmek için {obj}`pyc_collection` özelliği.
* Önceden derlemeyi kullanmayla ilgili kılavuz için [Önceden derleme](precompiling) dokümanları.
:::
|
precompile_invalidation_mode
|
Dize; varsayılan değer "auto" 'tir
Ö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ılmayacağı durumlarda en yararlı olanıdır.
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
|
Tam sayı; varsayılan değer 0 'tür
Ö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
Bir kaynak dosya derlenirken kaynak dosyanın elde edilen çıkışta tutulup tutulmayacağını belirler. Geçerli değerler:
* `inherit`: Değeri {flag}`--precompile_source_retention` işaretinden devralın.
* `keep_source`: Orijinal Python kaynağını dahil edin.
* `omit_source`: Orijinal py kaynağını dahil etmeyin.
* `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
Devre dışı, kullanılmayan, hiçbir işlem yapmaz.
|
py_test
Kural kaynağını görüntüleopen_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, tüm kodunuzu içerir 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, 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.
Mutlak yollara ("/" ile başlayan yollar) ve yürütme kökünün üstündeki bir yola referans veren yollara izin verilmez ve bu tür yollar hata verir.
|
legacy_create_init
|
Tam sayı; varsayılan değer -1 'tür
Runfiles ağacında, boş "__init__.py" dosyalarının dolaylı olarak oluşturulup oluşturulmayacağı.
Bunlar, Python kaynak kodu veya paylaşılan kitaplıklar içeren her dizinde ve depo kök dizini hariç bu dizinlerin her üst dizininde oluşturulur. 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ı (boş olabilir) oluşturmaktan ve gerektiğinde Python hedeflerinin "srcs" bölümüne eklemekten sorumludur.
|
main
|
Etiket; varsayılan değer None 'dir.
İsteğe bağlı; uygulamanın ana giriş noktası olan kaynak dosyanın adı. Bu dosya, `srcs` içinde de listelenmelidir. Belirtilmemişse bunun yerine, `.py` eklenmiş şekilde `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 derlenmeyeceği.
Değerler:
* `inherit`: Değeri {flag}`--precompile` işaretinden belirleyin.
* `enabled`: Python kaynak dosyalarını derleme zamanında derleyin. --precompile_add_to_runfiles parametresinin, derlenmiş dosyaların alt akış ikilisine nasıl dahil edildiğini etkilediğini unutmayın.
* `disabled`: Python kaynak dosyaları derleme sırasında derlenmez.
* `if_generated_source`: Yalnızca oluşturulmuş dosya ise Python kaynak dosyalarını derleyin.
:::{seealso}
* Bazı durumlarda bu özelliği geçersiz kılabilen ve derleme sırasında tüm hedefleri etkileyen {flag}`--precompile` işaretçisi.
* Hedef bazında önceden derlemeyi geçişli olarak etkinleştirmek için {obj}`pyc_collection` özelliği.
* Önceden derlemeyi kullanmayla ilgili kılavuz için [Önceden derleme](precompiling) dokümanları.
:::
|
precompile_invalidation_mode
|
Dize; varsayılan değer "auto" 'tir
Ö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ılmayacağı durumlarda en yararlı olanıdır.
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
|
Tam sayı; varsayılan değer 0 'tür
Ö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
Bir kaynak dosya derlenirken kaynak dosyanın elde edilen çıkışta tutulup tutulmayacağını belirler. Geçerli değerler:
* `inherit`: Değeri {flag}`--precompile_source_retention` işaretinden devralın.
* `keep_source`: Orijinal Python kaynağını dahil edin.
* `omit_source`: Orijinal py kaynağını dahil etmeyin.
* `omit_if_generated_source`: Normal bir kaynak dosyasıysa orijinal kaynağı koruyun, oluşturulmuş bir dosyaysa dosyayı çıkarın.
|
pyc_collection
|
Dize; varsayılan değer "inherit" 'tir
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
Devre dışı, kullanılmayan, hiçbir işlem yapmaz.
|
stamp
|
Tam sayı; varsayılan değer 0 '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, iyi bir derleme sonucu önbelleğe alma sağlar.
* `stamp = -1`: Derleme bilgilerinin yerleştirilmesi, `--[no]stamp` işaretçisi tarafından kontrol edilir.
Damgalanmış ikili dosyalar, bağımlılıklarının değişmesi dışında yeniden derlenmez.
UYARI: Damgalama, önbellek isabetlerini azaltarak derleme performansını olumsuz etkileyebilir. Mümkünse damgalamaya karşı önlem alınmalıdır.
|
py_runtime
Kural kaynağını görüntülemeopen_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. Derleme içi çalışma zamanı, kontrollü bir yorumlayıcıya mı yoksa sistem yorumlayıcısına erişen bir sarmalayıcı komut dosyasına mı işaret ettiğine bağlı olarak hermetik olabilir veya olmayabilir.
Ö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" 'dir.
Kullanılacak önyükleme komut dosyası şablon dosyası. %python_binary%, %workspace_name%, %main% ve %imports% içermelidir.
Bu şablon, genişletildikten sonra süreci başlatmak için kullanılan yürütülebilir dosya haline gelir. Bu nedenle, Python yorumlayıcısını, çalıştırma dosyalarını bulma ve istenen Python uygulamasını çalıştırmak için bir ortam oluşturma gibi ilk önyükleme işlemlerinden sorumludur.
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 gelir.
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 'dir.
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. Kapsam etkinleştirildiğinde hedef ve çalışma dosyaları çalışma dosyalarına eklenir.
Aracın giriş noktası, bir Python yorumlayıcısı tarafından yüklenebilir olmalıdır (ör. bir `.py` veya `.pyc` dosyası). En azından "run" ve "lcov" alt komutlarını içeren [`coverage.py`](https://coverage.readthedocs.io) komut satırı bağımsız değişkenlerini kabul etmelidir.
|
files
|
Etiketler listesi; varsayılan değer [] 'dir.
Yerleşik bir çalışma zamanında bu, çalışma zamanını oluşturan dosya grubudur.
Bu dosyalar, bu çalışma zamanını kullanan Python ikili dosyalarının çalışma dosyalarına eklenir. 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 'dir.
Derleme içi çalışma zamanında bu, yorumlayıcı olarak çağrılacak hedeftir. Aşağıdakilerden biri olabilir:
* Yorumlayıcı ikili dosyası olan 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 tüm varsayılan çıkışlar ("target.files") ve düz dosya çalıştırma dosyaları ("runfiles.files") "files" özelliğinde belirtilmiş gibi otomatik olarak eklenir.
NOT: Hedefin çalışma dosyaları henüz araç seti/yorumlayıcının tüketicilerine düzgün şekilde aktarılmamış/uygulanmayabilir. bazelbuild/rules_python/issues/1612 adresine bakın.
Platform çalışma zamanında (ör. "interpreter_path" ayarlanmışsa) bu özellik ayarlanmamalıdır.
|
interpreter_path
|
Dize; varsayılan değer "" 'tir
Platform çalışma zamanı için bu, hedef platformdaki bir Python yorumlayıcısının mutlak yoludur. 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 kısmı (ör. "foo.cpython-39.pyc" dosyasının "cpython-39" iç eklemesi). PEP 3147'ye bakın. 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
|
Dize; varsayılan değer "PY3" 'tir
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" 'dir.
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ı.
:::
|