ユーティリティー
qiskit.utils
非推奨
add_deprecation_to_docstring
qiskit.utils.add_deprecation_to_docstring(func, msg, *, since, pending)
funcの docstring に非推奨メッセージを動的に挿入する。
パラメーター
- func (Callable) – 変更する関数
- msg (str) – 非推奨メッセージの全文。
- since (str | None) – 非推奨が始まったバージョン。
- pending (bool) – 廃止はまだ保留ですか?
戻りの型
なし
deprecate_arg
qiskit.utils.deprecate_arg(name, *, since, additional_msg=None, deprecation_description=None, pending=False, package_name='Qiskit', new_alias=None, predicate=None, removal_timeline='no earlier than 3 months after the release date')
引数が何らかの形で非推奨になったことを示すデコレータ。
このデコレーターは、非推奨の引数1つにつき1回、同じ関数で複数回使うことができる。 @staticmethod 、不動産装飾家など他の装飾家の下に配置されるべきである。
パラメーター
- name (str) – 非推奨の引数の名前。
- since (str) – 非推奨が始まったバージョン。 もし非推奨が保留中であれば、その開始時のバージョンを設定する。しかしその後、保留から非推奨に切り替わるときには、それ以降を新しいバージョンに更新する。
- deprecation_description (str | None) – 何が非推奨なのか? E.g. "my_func()のmy_arg引数をNoneに設定" 設定されていない場合、デフォルトは " {func_name} 'の引数 {name} " となる。
- additional_msg (str | None) – (new_aliasが設定されていない場合)代わりに何を使うかなどの追加情報をここに入れる。 例えば、"代わりに、似ているが回路のセットアップに影響を与えない引数new_argを使う。"
- pending (bool) – 非推奨がまだ保留中の場合はTrueに設定する。
- package_name (str) – 非推奨メッセージに表示されているパッケージ名(例: PyPI パッケージ名)。
- new_alias (str | None) – argの名前が変更されただけの場合は、新しい名前を設定する。 decoratorはkwargsを動的に更新し、ユーザが古いargを設定すると、それが新しいalias argとして渡されるようにする。
- predicate (Callable[[Any], bool] | None) – 述語が真を返す場合にのみ、実行時警告をログに記録する。 これは引数に対して特定の値や型を非推奨とするのに有用です。例:lambda my_arg: isinstance(my_arg, dict)。 述語が設定されているかどうかにかかわらず、実行時警告はユーザーが引数を指定した場合にのみログに記録されます。
- removal_timeline (str) – この非推奨措置はどのくらいで解除されるのか? 最新リリースから6ヶ月以内」や「リリース時 9.99 」のような値を期待する。
戻り値
装飾された callable。
戻りの型
呼び出し可能
deprecate_func
qiskit.utils.deprecate_func(*, since, additional_msg=None, pending=False, package_name='Qiskit', removal_timeline='no earlier than 3 months after the release date', is_property=False, stacklevel=2)
関数が非推奨になったことを示すデコレータ。
staticmethodやpropertyデコレーターなど、他のデコレーターの下に配置する。
クラスを非推奨にする場合、このデコレータをそのクラスの ㊟_init ㊟_関数に設定します。
パラメーター
- since (str) – 非推奨が始まったバージョン。 もし非推奨が保留中であれば、その開始時のバージョンを設定する。しかしその後、保留から非推奨に切り替わったら、
since、新しいバージョンに更新する。 - additional_msg (str | None) – 代わりに何を使うかなど、追加情報があればここに記入する。 例えば、"代わりに、モジュール
<my_module>.<my_submodule>の関数new_funcを使ってください - pending (bool) – 非推奨がまだ保留中の場合は
Trueに設定する。 - package_name (str) – 非推奨メッセージに表示されているパッケージ名(例: PyPI パッケージ名)。
- removal_timeline (str) – この非推奨措置はどのくらいで解除されるのか? 最新リリースから6ヶ月以内」や「リリース時 9.99 」のような値を期待する。
- is_property (bool) – 非推奨の関数が @property である場合は、生成されるメッセージで正しくその旨が記述されるように、これを True に設定してください。 (プロパティのセッターについては、 Python によってその docstring が無視されるため、これは必要ありません。)
- stacklevel (int) – に渡されるスタックレベル
warnings.warn().
戻り値
装飾された callable。
戻りの型
呼び出し可能
SI単位換算
apply_prefix
qiskit.utils.apply_prefix(value, unit)
SI 単位の接頭辞と値が与えられた場合、接頭辞を適用して標準 SI 単位に変換する。
パラメーター
- value (float |ParameterExpression) – プレフィックスを適用する番号。
- unit (str) – 文字列の接頭辞。
戻り値
変換された値。
戻りの型
これは、floatオブジェクトの内部表現に起因する小さな値エラーを引き起こす可能性があります。 参照 https://docs.python.org/3/tutorial/floatingpoint.html を参照のこと。
レイズ
ValueError – が認識 unit されない場合。
パラメーター
- value (float |ParameterExpression)
- unit (str)
戻りの型
detach_prefix
qiskit.utils.detach_prefix(value, decimal=None)
SI 単位の値が与えられた場合、その値をスケーリングするために最も適した接頭辞を見つけよ。
例えば、 value = 1.3e8 は、 (130.0, "M") のタプルに変換される。このタプルは、スケーリングされた値と、値の表示に使用できる補助単位を表す。 上記の例では、その値は 130 MHz (単位は任意)と表示されるかもしれない。
例
>>> value, prefix = detach_prefix(1e4)
>>> print(f"{value} {prefix}Hz")
10 kHzパラメーター
- value (float) – 接頭辞を探す番号。
- decimal (int | None) – オプションだ。 値の精度を表す任意の整数。 指定された場合、仮数を丸め、接頭辞を丸めた値に調整しようとする。 例えば、 999_999.91 は、
decimal=4で 999.9999 k となり、decimal=3以下で 1.0 M となる。
戻り値
スケーリングされた値と接頭辞のタプル。
戻りの型
これは、floatオブジェクトの内部表現に起因する小さな値エラーを引き起こす可能性があります。 参照 https://docs.python.org/3/tutorial/floatingpoint.html を参照のこと。
レイズ
- ValueError -
valueが範囲外の場合。 - ValueError -
valueが実数でない場合。
パラメーター
戻りの型
クラスツール
wrap_method
qiskit.utils.wrap_method(cls, name, *, before=None, after=None)
インスタンスメソッドまたはクラスメソッド cls.name の機能を、追加の振る舞い before と after でラップします。
これは cls を変異させ、属性 name を新しい機能で置き換える。 これはクラス・デコレーターを作るときに便利だ。 このメソッドは、代わりにどの親クラスにも定義できる。
before 、 after のいずれかが与えられた場合は、参照されるメソッドと互換性のあるシグネチャを持つcallableでなければならない。 これらのメソッドは、必要に応じてメソッドの直前または直後に呼び出され、戻り値は無視される。
パラメーター
- cls (type) – 変更するクラス。
- name (str) – ラップするクラスのメソッド名。
- before (Callable | None) – ラップされるメソッドの前に呼び出すべきコールバック関数。
- after (Callable | None) – ラップ対象のメソッドの実行後に呼び出されるべきコールバック関数。
レイズ
ValueError - 指定されたメソッドがクラスや親クラスで定義されていない場合。
マルチプロセッシング
default_num_processes
qiskit.utils.default_num_processes()
マルチプロセッシング並列呼び出しがデフォルトで使用するプロセス数を取得する。
このような関数は通常、この関数から返される値よりも優先される num_processes キーワード引数も受け付ける。
優先順位の高い順(高い方から低い方)に、戻り値は次のようになる:
- 設定されていれば、
QISKIT_NUM_PROCS環境変数。 - 設定されている場合、Qiskitユーザー設定ファイルの
num_processesキー。 - このプロセスで使用可能な論理CPUの半分(もしこれが決定できる場合)。 経験的に、Qiskitのマルチプロセッシング性能は、SMTコアを使おうとすると悪くなるようです。
- 1、万策尽きたら
ユーザー設定値が1より小さい数値に設定されている場合、その値は1であるかのように扱われる。
戻りの型
is_main_process
qiskit.utils.is_main_process()
現在のプロセスがメインかどうかをチェックする。
Python 3.8、これは標準的な Python の計算方法と同じである:
>>> import multiprocessing
>>> multiprocessing.parent_process() is Noneこの機能は後方互換性のために残されているが、 Python のビルトインツールを使わない理由はほとんどない。
戻りの型
local_hardware_info
qiskit.utils.local_hardware_info()
ローカルマシンの基本的なハードウェア情報。
ハイパースレッディングがオンになっている場合でも、マシンの物理CPU数を推定しようとする。 CPUカウントは、真のカウントが決定できない場合、デフォルトで1になる。
戻り値
ハードウェア情報。
戻りの型
should_run_in_parallel
qiskit.utils.should_run_in_parallel(num_processes=None)
マルチプロセッシング関数が並列化のためにサブプロセスを生成すべきかどうかを決定する。
特に parallel_map() がマルチプロセシングを使うかどうかを決定する方法である。 num_processes デフォルトでは、Qiskitは fork-like process spawning start methodが有効な場合にのみプロセスベースの並列性を使用します。 この決定 は、使用する開始方法を設定することで上書きできる。 multiprocessing を設定するか、環境変数 QISKIT_PARALLEL を "TRUE" に設定するか、ユーザー設定ファイルで parallel = true を設定することで、この決定を上書きすることができる。
この関数には、この関数の戻り値を一時的に変更するために使用できる2つのコンテキスト・マネージャーが含まれている:
override
should_run_in_parallel.override(value)
コンテキスト・マネージャーは should_run_in_parallel() は与えられた value を返します。
これは完全なオーバーライドではありません。Qiskitは単一のプロセスしか利用できない場合は決して並列化を試みず、深さが1より大きい場合はプロセスベースの並列化を許可しません。
パラメーター
value (bool)
ignore_user_settings
should_run_in_parallel.ignore_user_settings()
コンテキスト・マネージャー should_run_in_parallel() は環境設定変数を無視する。
特に、 QISKIT_PARALLEL 環境変数とユーザー設定ファイルは、このコンテキストでは無視される。
パラメーター
num_processes (int | None) – 使用するプロセスの最大数 (None がデフォルト)。
戻りの型
例
構成された設定を一時的に上書きし、並列処理を無効にする:
>>> with should_run_in_parallel.override(True):
... assert should_run_in_parallel(8)
>>> with should_run_in_parallel.override(False):
... assert not should_run_in_parallel(8)Python でカスタム関数を呼び出すためのヘルパー関数。 ProcessPoolExecutor. タスクはこの関数を使って並列に実行できる。
parallel_map
qiskit.utils.parallel_map(task, values, task_args=(), task_kwargs=None, num_processes=None)
関数タスクへの値のマッピングの並列実行。 これは機能的に同等である:
result = [task(value, *task_args, **task_kwargs) for value in values]これは、 values の数が1より大きければ結果を並列化し、 を返す。 should_run_in_parallel() は True を返す。 そうでない場合は、シリアルで実行される。
パラメーター
- task (func) –
valuesの各値に対して呼び出される関数。 - values (array_like) –
task関数の評価対象となる値のリストまたは配列。 - task_args (list) –
task関数へのオプションの追加引数。 - task_kwargs (dict) –
task関数へのオプションの追加キーワード引数。 - num_processes (int) – スポーンするプロセス数。 もし与えられなければ
default_num_processes()の戻り値が使われる。
戻り値
結果リストには、 values の各値に対する task(value, *task_args, **task_kwargs) の値が含まれる。
戻りの型
結果
例
import time
from qiskit.utils import parallel_map
def func(_):
time.sleep(0.1)
return 0
parallel_map(func, list(range(10)));オプションの依存関係チェッカー
Qiskitには、特定のオプションの依存関係が満たされている場合にのみ有効になる機能がいくつかあります。 このモジュール qiskit.utils.optionalsこのモジュールは、特定の機能が利用可能かどうかをテストするために使用できるオブジェクトのコレクションを持っています。 MissingOptionalLibraryError を発生させることができます。
利用可能なテスター
Qiskit コンポーネント
qiskit.utils.optionals.HAS_AER
Qiskit Aerは、 Qiskit内で構築された量子回路向けに高性能なシミュレータを提供します。
qiskit.utils.optionals.HAS_IBMQ
Qiskit IBMQ Provider は、 IBM クラウド上の IBM 量子ハードウェアにアクセスするために使用される。
qiskit.utils.optionals.HAS_IGNIS
Qiskit Ignis は、量子ハードウェア検証、ノイズ特性評価、エラー訂正のためのツールを提供する。
qiskit.utils.optionals.HAS_TOQM
Qiskit TOQMは、 時間最適Qubitマッピングアルゴリズム用のトランスパイラパスを提供します。
外部 Python ライブラリ
qiskit.utils.optionals.HAS_CONSTRAINT
python-constraintは制約充足問題ソルバーです。 CSPLayout トランスパイラパスで使用されます。
qiskit.utils.optionals.HAS_CPLEX
IBM のCPLEXオプティマイザーは、線形計画法、混合整数計画法、および二次計画法に対応した高性能な数理計画法ソルバーです。 これはQiskitではもはや使用されていませんが、かつては使用されていたため、下位互換性を保つためにオプションとして残されています。
qiskit.utils.optionals.HAS_CVXPY
CVXPY は凸最適化問題を解くための Python パッケージです。 これは、ダイヤモンドのノルムを計算するために必要です。 quantum_info.diamond_norm().
qiskit.utils.optionals.HAS_DOCPLEX
IBM Decision Optimization CPLEX Modellingは、 処方分析のためのライブラリです。 CPLEXと同様、これはQiskitではもはや使用されていませんが、かつては使用されていたため、下位互換性を保つためにオプションとして残されています。
qiskit.utils.optionals.HAS_FIXTURES
テスト・スイートには、オプションのフィクスチャ・モジュールがインストールされている場合に利用できる追加機能があります。 これも一般的には HAS_TESTTOOLS も必要である。 これは一般的にQiskit開発者のみに必要です。
qiskit.utils.optionals.HAS_IPYTHON
IPythonカーネルが利用可能な場合は、特定の追加的な視覚化と行の魔法が利用可能になります。
qiskit.utils.optionals.HAS_IPYWIDGETS
ipywidgetsが利用可能であれば、外部バックエンドで実行されているジョブの監視ウィジェットを提供できる。
qiskit.utils.optionals.HAS_JAX
opflow.gradients 、勾配を計算するいくつかの方法は、自己微分するために JAXを必要とする。
qiskit.utils.optionals.HAS_JUPYTER
一部のテストでは、インタラクティブ機能をテストするために Jupyterの完全なインストールが必要です。
qiskit.utils.optionals.HAS_MATPLOTLIB
Qiskitはいくつかの可視化ツールを visualization モジュールを提供しています。 これらのほとんどは Matplotlib を使用して構築されている。
qiskit.utils.optionals.HAS_NETWORKX
Qiskitではもう使われていない。 Python 内部的には、Qiskitは高性能な rustworkx ライブラリをコア依存として使用するようになりました。 NetworkX 形式に変換するのが便利なことがありました。 Qiskit Natureのようなアプリケーション・モジュールのテストでは、まだ NetworkX を使用している。
qiskit.utils.optionals.HAS_NLOPT
NLoptは非線形最適化ライブラリで、 algorithms.optimizers モジュールのグローバル・オプティマイザで使用されます。
qiskit.utils.optionals.HAS_PIL
PIL は Python 画像操作ライブラリである。 Qiskitは、特定の可視化を生成する際にPILのピローフォークが利用可能であれば、それを実際に使用します。 QuantumCircuit と DAGCircuit の両方を生成する場合などです。
qiskit.utils.optionals.HAS_PYDOT
一部のグラフ可視化では、Qiskitは pydotを GraphViz ( HAS_GRAPHVIZ).
qiskit.utils.optionals.HAS_PYGMENTS
Pygmentsは、SphinxやJupyterなど、コードブロックをリッチに表示する多くの環境で使われているコードハイライターとフォーマッターです。 Qiskitは、このような環境向けにリッチな出力を生成する際にこれを使用する。
qiskit.utils.optionals.HAS_PYLATEX
様々な LaTeX-based の可視化、特に回路ドロワーが正しく動作するためには、 pylatexenc プロジェクトにアクセスする必要がある。
qiskit.utils.optionals.HAS_QASM3_IMPORT
機能 qasm3.load() そして qasm3.loads()OpenQASM 3プログラムをインポートするための QuantumCircuit インスタンスは外部インポーター パッケージを使用します。
qiskit.utils.optionals.HAS_SEABORN
Qiskitはいくつかの可視化ツールを visualization モジュールを提供しています。 これらの一部は Seaborn を使用して構築されており、使用するには Seaborn をインストールする必要があります。
qiskit.utils.optionals.HAS_SKLEARN
opflow.gradients の勾配関数のいくつかは、 Scikit Learn の正則化メソッドを使用しています。
qiskit.utils.optionals.HAS_SKQUANT
最適化ツールの中には algorithms.optimizers これらは Scikit Quant にあるものに基づいており、使用するにはインストールする必要があります。
qiskit.utils.optionals.HAS_SQSNOBFIT
SQSnobFit は、「ブランチ・アンド・フィットによる安定したノイズのない最適化」アルゴリズムのためのライブラリです。 これは、 SNOBFIT オプティマイザーによって使用される。
qiskit.utils.optionals.HAS_SYMENGINE
qiskit.utils.optionals.HAS_SYMPY
SymPy は、記号数学のための Python ライブラリです。 SymPy かつてはクラスの ParameterExpression 実装に使用されていましたが、現在は使用されていません。 ただし、. ParameterExpression.sympify()を使用する一部のレガシー機能ではこれが必要となります。 また、一部の可視化関数やテンプレートマッチングでも使用されています。
qiskit.utils.optionals.HAS_TESTTOOLS
Qiskitのテストスイートは、オプションの testtools ライブラリがインストールされていれば、より高度な機能を利用できます。 これは一般的にQiskit開発者のみに必要です。
qiskit.utils.optionals.HAS_TWEEDLEDUM
Tweedledumは、古典的なオラクルを含む可能性のある回路の合成と最適化のための拡張ライブラリである。 過去にQiskit's PhaseOracle はこれを使用していたが、現在はQiskitでは使用していない。
qiskit.utils.optionals.HAS_Z3
Z3 は定理証明器で、 CrosstalkAdaptiveSchedule と HoareOptimizer トランスパイラパスで使用されます。
外部コマンドラインツール
qiskit.utils.optionals.HAS_GRAPHVIZ
qiskit.utils.optionals.HAS_PDFLATEX
サーキットドロワーなど、出力に LaTeX を使用する可視化ツールは、 pdflatex が利用可能であることを必要とする。 通常、 LaTeX のインストールと、 qcircuit.tex パッケージが利用可能であることを確認する必要があります。
qiskit.utils.optionals.HAS_PDFTOCAIRO
LaTeX-generated ファイルをラスタライズ画像に変換する視覚化ツールは、 pdftocairo ツールを使用します。 これは PDFツールのPopplerスイートの一部です。
怠惰なチェッカークラス
それぞれの遅延チェッカーは LazyDependencyManager のインスタンスです: LazyImportTester そして LazySubprocessTester. これらは、必要に応じて utils から直接インポートする必要がある:
from qiskit.utils import LazyImportTesterLazyDependencyManager
class qiskit.utils.LazyDependencyManager(*, name=None, callback=None, install=None, msg=None)
ベース: ABC
インポートや存在確認にコストがかかる一部のオプション機能の管理ツール。
これらのオブジェクトは、 if x のようなブール値として使用することができ、テストする依存関係が利用可能であれば True 、そうでなければ False 。 依存性の有無は、ブール値が評価されるときにのみテストされるので、インポート時のテストを必要とせず、関数やメソッドの実行時テストとして使用することができます。
これらのオブジェクトは、依存関係が存在しない場合のエラー処理もカプセル化しているので、次のようなことができる:
from qiskit.utils import LazyImportManager
HAS_MATPLOTLIB = LazyImportManager("matplotlib")
@HAS_MATPLOTLIB.require_in_call
def my_visualisation():
...
def my_other_visualisation():
# ... some setup ...
HAS_MATPLOTLIB.require_now("my_other_visualisation")
...
def my_third_visualisation():
if HAS_MATPLOTLIB:
from matplotlib import pyplot
else:
...これらの場合、 matplotlib 、ファンクションが入力されるまでインポートされない。 デコレーターの場合、 matplotlib 、関数が初めて呼ばれたときにインポートがテストされる。 2番目と3番目のケースでは、ローダーは matplotlib 。 require_now() メソッドが呼び出されたとき、あるいはブールコンテキストが評価されたときにインポートしようとします。 require 、ライブラリが利用できない場合はエラーが発生する。
これは基本クラスで、ブール値のコンテキスト・チェックとエラー管理を行う。 具体的なクラス LazyImportTester と LazySubprocessTester はそれぞれ、特定のシンボルがモジュールからインポート可能か、特定のコマンドラインツールが利用可能かをテストするための便利なエントリーポイントを提供します。
パラメーター
- name - このオプションの依存関係の名前。
- callback - ライブラリの可用性が結果とともにテストされた直後に呼び出されるコールバック。 これは一度しか呼ばれない。
- install - このオプションの依存関係をインストールする方法。 パラメータとして
MissingOptionalLibraryErrorにpip_installパラメータとして渡す。 - msg - 必要であれば、エラーに含める追加メッセージ。
_is_available
abstractmethod _is_available()
のサブクラスは LazyDependencyManager はこのメソッドをオーバーライドして、実際の可用性テストを実装する必要があります。 このメソッドはブール値を返すべきで、 True は依存関係が利用可能であったことを示す。 このメソッドは一度しか呼ばれない。
戻りの型
disable_locally
disable_locally()
コンテキストを作成し、その間に依存性マネージャーの値が False。 つまり、コンテキスト内では、このオブジェクトへの呼び出しは、エラーを発生させることも含めて、依存関係が利用できないかのように動作する。 依存関係がすでに評価されているかどうかにかかわらず、このメソッドを呼び出すことは有効である。 これはテストで最も役に立つ。
require_in_call
require_in_call(feature_or_callable: Callable) → Callable
require_in_call(feature_or_callable: str) → Callable[[Callable], Callable]
デコレートされた関数やメソッドが呼び出されたときに、依存関係が利用可能であることを要求する callable 用のデコレーターを作成します。
パラメーター
feature_or_callable (str or Callable) – これらの依存関係を必要とする機能の名前。 この関数がデコレーターとして直接呼び出される場合(例えば @HAS_X.require_in_call("my feature") ではなく @HAS_X.require_in_call )、フィーチャー名は関数名、またはクラス名とメソッド名とみなされます。
戻り値
このデコレーターは、その引数が呼び出される前にこの依存関係を要求するようにします。
戻りの型
呼び出し可能
require_in_instance
require_in_instance(feature_or_class: type) → type
require_in_instance(feature_or_class: str) → Callable[[type], type]
依存関係を必要とするクラス・デコレーターは、クラスが初期化されたときに利用できます。 このデコレーターは、クラスが __init__ メソッドを定義していなくても使用できる。
パラメーター
feature_or_class (str orType) – これらの依存関係を必要とする機能の名前。 この関数がデコレーターとして直接呼び出された場合(例えば @HAS_X.require_in_instance("my feature") ではなく @HAS_X.require_in_instance )、フィーチャー名はクラス名として扱われる。
戻り値
このデコレーターは、クラスが初期化されたときにラップされた機能が存在することを保証します。
戻りの型
呼び出し可能
require_now
require_now(feature)
このオブジェクトの依存関係のインポートを熱心に試み、インポートできない場合は例外を発生させる。
パラメーター
feature (str) – これらの依存関係を必要とする機能の名前。
レイズ
MissingOptionalLibraryError - 依存関係をインポートできない場合
LazyImportTester
class qiskit.utils.LazyImportTester(name_map_or_modules, *, name=None, callback=None, install=None, msg=None)
インポート可能な Python モジュール用の遅延依存性テスター。 必要なオブジェクトは、このオブジェクトのブール値がテストされる時点でのみインポートされる。
パラメーター
- name_map_or_modules (str |dict[str, Iterable[str]] | Iterable[str]) – 名前マップである場合は、キーがモジュールまたはパッケージで、値がそのモジュールからインポートを試みる名前の反復可能オブジェクトである辞書となります。 と書くのは
from <module> import <name1>, <name2>, ...正しいはずです。 単なる文字列、あるいは文字列の反復可能オブジェクトである場合は、それぞれに対して次のようにimport <module>記述しても問題ないはずです。 - name (str | None)
- callback (Callable[[bool], None] | None)
- install (str | None)
- msg (str | None)
レイズ
ValueError - モジュールが与えられていない場合。
LazySubprocessTester
class qiskit.utils.LazySubprocessTester(command, *, name=None, callback=None, install=None, msg=None)
コマンドラインツールが利用可能であることを確認する怠慢なチェッカー。 このコマンドは、このオブジェクトのブール値がチェックされた時点で、一度だけ実行される。
パラメーター
- command (str |Iterable[str]) – 実行するコマンドを構成する文字列。 例えば、
["pdflatex", "-version"]です。 - name (str | None)
- callback (Callable[[bool], None] | None)
- install (str | None)
- msg (str | None)
レイズ
ValueError - 空のコマンドが与えられた場合。