Skip to main content
IBM Quantum Platform

Servicios de suministro

qiskit.utils


Características en desuso

add_deprecation_to_docstring

qiskit.utils.add_deprecation_to_docstring(func, msg, *, since, pending)

GitHub

Inserta dinámicamente el mensaje de depreciación en func's docstring.

Parámetros

  • func (Callable) – La función a modificar.
  • msg (str) – El mensaje de cancelación completo.
  • since (str | None) – La versión en la que comenzó la depreciación.
  • pending (bool) – ¿Sigue pendiente la depreciación?

Tipo de retorno

Ninguna

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')

GitHub

Decorador para indicar que un argumento ha sido obsoleto de alguna manera.

Este decorador puede utilizarse varias veces en la misma función, una vez por cada argumento obsoleto. Debe situarse por debajo de otros decoradores como @staticmethod y decoradores inmobiliarios.

Parámetros

  • name (str) – El nombre del argumento obsoleto.
  • since (str) – La versión en la que comenzó la depreciación. Si la deprecación está pendiente, establece la versión a cuando empezó; pero más tarde, al pasar de pendiente a deprecada, actualiza desde a la nueva versión.
  • deprecation_description (str | None) – ¿Qué es lo que queda obsoleto? E.g. "Estableciendo el argumento my_arg de my_func() a None." Si no se establece, será por defecto " {func_name} 's argument {name} ".
  • additional_msg (str | None) – Ponga aquí cualquier información adicional, como qué usar en su lugar (si new_alias no está configurado). Por ejemplo, "En su lugar, utilice el argumento new_arg, que es similar pero no afecta a la configuración del circuito."
  • pending (bool) – Establézcalo como True si la eliminación aún está pendiente.
  • package_name (str) – El nombre del paquete que aparece en el mensaje de depreciación (por ejemplo, el nombre del paquete PyPI ).
  • new_alias (str | None) – Si simplemente se ha cambiado el nombre del argumento, introduzca el nuevo nombre. El decorador actualizará dinámicamente los kwargs de forma que cuando el usuario establezca el arg antiguo, éste se pasará como el arg new_alias.
  • predicate (Callable[[Any], bool] | None) – Solo registre la advertencia de tiempo de ejecución si el predicado devuelve True. Esto resulta útil para descartar determinados valores o tipos para un argumento, por ejemplo, lambda my_arg: isinstance(my_arg, dict). Independientemente de si se establece un predicado, la advertencia en tiempo de ejecución solo se registrará cuando el usuario especifique el argumento.
  • removal_timeline (str) – ¿Cuándo se eliminará esta depreciación? Se espera un valor como "no antes de 6 meses después de la última versión" o "en la versión 9.99 ".

Devuelve

La llamada decorada.

Tipo de retorno

Invocable

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)

GitHub

Decorador para indicar que una función ha quedado obsoleta.

Debe colocarse debajo de otros decoradores como @staticmethod y decoradores de propiedades.

Cuando desapruebe una clase, establezca este decorador en su función __init___.

Parámetros

  • since (str) – La versión en la que comenzó la depreciación. Si la deprecación está pendiente, establezca la versión en el momento en que comenzó; pero más tarde, al pasar de pendiente a deprecada, actualice since a la nueva versión.
  • additional_msg (str | None) – Ponga aquí cualquier información adicional, como qué utilizar en su lugar. Por ejemplo, "En su lugar, utilice la función new_func del módulo <my_module>.<my_submodule>, que es similar pero utiliza la aceleración de la GPU"
  • pending (bool) – Establézcalo en True si la depreciación aún está pendiente.
  • package_name (str) – El nombre del paquete que aparece en el mensaje de depreciación (por ejemplo, el nombre del paquete PyPI ).
  • removal_timeline (str) – ¿Cuándo se eliminará esta depreciación? Se espera un valor como "no antes de 6 meses después de la última versión" o "en la versión 9.99 ".
  • is_property (bool) – Si la función obsoleta es una @property, establece este valor en True para que el mensaje generado la describa correctamente como tal. (Esto no es necesario para los setters de propiedades, ya que « Python » ignora su cadena de documentación.)
  • stacklevel (int) – Nivel de pila pasado a warnings.warn().

Devuelve

La llamada decorada.

Tipo de retorno

Invocable


Conversión de unidades del Sistema Internacional (SI)

apply_prefix

qiskit.utils.apply_prefix(value, unit)

GitHub

Dado un prefijo de unidad SI y un valor, aplica el prefijo para convertir a unidad SI estándar.

Parámetros

Devuelve

Valor convertido.

Tipo de retorno

float | ParameterExpression

Nota

Esto puede inducir un pequeño error de valor debido a la representación interna del objeto float. Consulte https://docs.python.org/3/tutorial/floatingpoint.html para más detalles.

Eleva

ValueError – Si no se reconoce unit el.

Parámetros

Tipo de retorno

float | ParameterExpression

detach_prefix

qiskit.utils.detach_prefix(value, decimal=None)

GitHub

Dado un valor en unidades del SI, encuentra el prefijo más adecuado para escalar el valor.

Por ejemplo, value = 1.3e8 se convertirá en una tupla de (130.0, "M"), que representa un valor escalado y una unidad auxiliar que puede utilizarse para mostrar el valor. En el ejemplo anterior, ese valor podría mostrarse como 130 MHz (aquí la unidad es arbitraria).

Ejemplo

>>> value, prefix = detach_prefix(1e4)
>>> print(f"{value} {prefix}Hz")
10 kHz

Parámetros

  • value (float) – El número para encontrar el prefijo.
  • decimal (int | None) – Opcional. Un número entero arbitrario para representar la precisión del valor. Si se especifica, intenta redondear la mantisa y ajustar el prefijo al valor redondeado. Por ejemplo, 999_999.91 se convertirá en 999.9999 k con decimal=4, mientras que 1.0 M con decimal=3 o menos.

Devuelve

Una tupla de valor escalado y prefijo.

Tipo de retorno

tupla[ float, str ]

Nota

Esto puede inducir un pequeño error de valor debido a la representación interna del objeto float. Consulte https://docs.python.org/3/tutorial/floatingpoint.html para más detalles.

Eleva

Parámetros

Tipo de retorno

tupla[ float, str ]


Herramientas de clase

wrap_method

qiskit.utils.wrap_method(cls, name, *, before=None, after=None)

GitHub

Envuelve la funcionalidad del método de instancia o clase cls.name con comportamientos adicionales before y after.

Esto muta cls, reemplazando el atributo name con la nueva funcionalidad. Esto es útil cuando se crean decoradores de clase. El método puede definirse en cualquier clase padre.

Si se indican before o after , deben ser callables con una firma compatible con el método al que se hace referencia. Se llamarán inmediatamente antes o después del método, según corresponda, y se ignorará cualquier valor de retorno.

Parámetros

  • cls (type) – la clase que se va a modificar.
  • name (str) – el nombre del método de la clase a envolver.
  • before (Callable | None) – una función que debe invocarse antes del método que se está envolviendo.
  • after (Callable | None) – una función que debe ejecutarse después del método que se está envolviendo.

Eleva

ValueError - si el método nombrado no está definido en la clase ni en ninguna clase padre.


Multiprocesamiento

default_num_processes

qiskit.utils.default_num_processes()

GitHub

Obtiene el número de procesos que una llamada paralela multiproceso utilizará por defecto.

Estas funciones suelen aceptar también un argumento de palabra clave num_processes que sustituirá al valor devuelto por esta función.

En orden de prioridad (de mayor a menor), el valor de retorno será:

  1. La variable de entorno QISKIT_NUM_PROCS , si está definida.
  2. La clave num_processes del archivo de configuración de usuario de Qiskit, si está configurada.
  3. La mitad de las CPU lógicas disponibles para este proceso, si se puede determinar. Se trata de una aproximación al número de CPU físicas, asumiendo un multiproceso simultáneo doble (SMT); empíricamente, el rendimiento multiproceso de Qiskit parece ser peor cuando se intentan utilizar núcleos SMT.
  4. 1, si todo lo demás falla.

Si un valor configurado por el usuario se establece en un número inferior a 1, se trata como si fuera 1.

Tipo de retorno

int

is_main_process

qiskit.utils.is_main_process()

GitHub

Comprueba si el proceso actual es el principal.

Dado que Python 3.8, esto es idéntico a la forma estándar Python de calcularlo:

>>> import multiprocessing
>>> multiprocessing.parent_process() is None

Esta función se deja por compatibilidad con versiones anteriores, pero hay pocas razones para no utilizar las herramientas integradas de Python.

Tipo de retorno

bool

local_hardware_info

qiskit.utils.local_hardware_info()

GitHub

Información básica de hardware sobre la máquina local.

Intenta estimar el número de CPU físicas de la máquina, incluso cuando hyperthreading está activado. El recuento de CPU por defecto es 1 cuando no se puede determinar el recuento real.

Devuelve

La información del hardware.

Tipo de retorno

dict

should_run_in_parallel

qiskit.utils.should_run_in_parallel(num_processes=None)

GitHub

Decide si una función multiproceso debe generar subprocesos para su paralelización.

En concreto, así es como parallel_map() decide si utilizar el multiprocesamiento o no. El argumento num_processes por sí solo no impone el paralelismo; por defecto, Qiskit sólo utilizará el paralelismo basado en procesos cuando un método de inicio de generación de procesos similar a fork esté en efecto. Puede anular esta decisión configurando el método de inicio multiprocessing que utilice, estableciendo la variable de entorno QISKIT_PARALLEL en "TRUE", o estableciendo parallel = true en su archivo de configuración de usuario.

Esta función incluye dos gestores de contexto que pueden utilizarse para modificar temporalmente el valor de retorno de esta función:

override

should_run_in_parallel.override(value)

GitHub

Un gestor de contexto dentro del cual should_run_in_parallel() devolverá la dirección value.

Esto no es una anulación completa; Qiskit nunca intentará paralelizar si sólo hay un único proceso disponible, y no permitirá el paralelismo basado en procesos a una profundidad mayor que 1.

Parámetros

value (bool)

ignore_user_settings

should_run_in_parallel.ignore_user_settings()

GitHub

Un gestor de contexto dentro del cual should_run_in_parallel() ignorará las variables de configuración del entorno.

En particular, la variable de entorno QISKIT_PARALLEL y el archivo de configuración del usuario se ignoran en este contexto.

Parámetros

num_processes (int | None) – el número máximo de procesos solicitados para su uso (None implica el valor por defecto).

Tipo de retorno

bool

Ejemplos

Anula temporalmente los ajustes configurados para desactivar el paralelismo:

>>> 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)

Una función de ayuda para llamar a una función personalizada con Python ProcessPoolExecutor. Las tareas pueden ejecutarse en paralelo utilizando esta función.

parallel_map

qiskit.utils.parallel_map(task, values, task_args=(), task_kwargs=None, num_processes=None)

GitHub

Ejecución paralela de una asignación de valores a la tarea de función. Esto es funcionalmente equivalente a:

result = [task(value, *task_args, **task_kwargs) for value in values]

Esto paralelizará los resultados si el número de values es mayor que uno y should_run_in_parallel() devuelve True. Si no, funcionará en serie.

Parámetros

  • task (func) – Función que debe llamarse para cada valor en values.
  • values (array_like) – Lista o matriz de valores para los que debe evaluarse la función task .
  • task_args (list) – Argumentos adicionales opcionales para la función task .
  • task_kwargs (dict) – Argumento de palabra clave adicional opcional para la función task .
  • num_processes (int) – Número de procesos a generar. Si no se indica, se utiliza el valor de retorno de default_num_processes() .

Devuelve

La lista de resultados contiene el valor de task(value, *task_args, **task_kwargs) para cada valor de values.

Tipo de retorno

Resultado

Ejemplos

import time
from qiskit.utils import parallel_map
def func(_):
        time.sleep(0.1)
        return 0
parallel_map(func, list(range(10)));

Comprobadores de dependencias opcionales

Qiskit tiene varias funciones que sólo se activan si se cumplen determinadas condiciones opcionales. Este módulo, qiskit.utils.optionalstiene una colección de objetos que pueden ser usados para probar si cierta funcionalidad está disponible, y opcionalmente lanzar MissingOptionalLibraryError si la funcionalidad no está disponible.

Probadores disponibles

Componentes de Qiskit

qiskit.utils.optionals.HAS_AER

Qiskit Aer ofrece simuladores de alto rendimiento para los circuitos cuánticos creados en Qiskit.

qiskit.utils.optionals.HAS_IBMQ

Qiskit IBMQ Provider se utiliza para acceder al hardware de IBM Quantum en la nube IBM.

qiskit.utils.optionals.HAS_IGNIS

Qiskit Ignis proporciona herramientas para la verificación del hardware cuántico, la caracterización del ruido y la corrección de errores.

qiskit.utils.optionals.HAS_TOQM

Qiskit TOQM proporciona pases de transpilador para el algoritmo de mapeo Qubit óptimo en el tiempo.

Bibliotecas externas de Python

qiskit.utils.optionals.HAS_CONSTRAINT

python-constraint es un solucionador de problemas de satisfacción de restricciones, utilizado en el CSPLayout transpilador.

qiskit.utils.optionals.HAS_CPLEX

El optimizador CPLEX de IBM es un solucionador de programación matemática de alto rendimiento para programación lineal, mixta-entera y cuadrática. Qiskit ya no utiliza esta opción, pero sí lo hacía anteriormente, y se mantiene como opcional por motivos de compatibilidad con versiones anteriores.

qiskit.utils.optionals.HAS_CVXPY

CVXPY es un paquete Python para resolver problemas de optimización convexa. Es necesario para calcular las normas del diamante con quantum_info.diamond_norm().

qiskit.utils.optionals.HAS_DOCPLEX

IBM Decision Optimization CPLEX Modelling es una biblioteca para el análisis prescriptivo. Al igual que CPLEX, Qiskit ya no utiliza esta opción, pero sí lo hacía anteriormente y se mantiene por motivos de compatibilidad con versiones anteriores.

qiskit.utils.optionals.HAS_FIXTURES

El conjunto de pruebas tiene funciones adicionales que están disponibles si se instala el módulo opcional de accesorios. Esto generalmente también necesita HAS_TESTTOOLS también. Por lo general, esto sólo es necesario para los desarrolladores de Qiskit.

qiskit.utils.optionals.HAS_IPYTHON

Si el kernel IPython está disponible, ciertas visualizaciones adicionales y magias de línea están disponibles.

qiskit.utils.optionals.HAS_IPYWIDGETS

Se pueden proporcionar widgets de monitorización para trabajos que se ejecutan en backends externos si ipywidgets está disponible.

qiskit.utils.optionals.HAS_JAX

Algunos métodos de cálculo de gradientes dentro de opflow.gradients requieren JAX para la autodiferenciación.

qiskit.utils.optionals.HAS_JUPYTER

Algunas de las pruebas requieren una instalación completa de Jupyter para probar las funciones de interactividad.

qiskit.utils.optionals.HAS_MATPLOTLIB

Qiskit proporciona varias herramientas de visualización en el módulo visualization módulo. Casi todos ellos se construyen utilizando Matplotlib que debe instalarse para poder utilizarlos.

qiskit.utils.optionals.HAS_NETWORKX

Qiskit ya no lo utiliza. Internamente, Qiskit utiliza ahora la biblioteca de alto rendimiento rustworkx como una dependencia del núcleo, y durante el período de cambio, a veces era conveniente convertir las cosas en el formato Python -only NetworkX solamente. Algunas pruebas de módulos de aplicación, como Qiskit Nature, siguen utilizando NetworkX.

qiskit.utils.optionals.HAS_NLOPT

NLopt es una biblioteca de optimización no lineal, utilizada por los optimizadores globales del módulo algorithms.optimizers .

qiskit.utils.optionals.HAS_PIL

PIL es una biblioteca de manipulación de imágenes Python. En realidad, Qiskit utiliza la bifurcación de almohada de PIL si está disponible al generar ciertas visualizaciones, por ejemplo de ambos QuantumCircuit y DAGCircuit en determinados modos.

qiskit.utils.optionals.HAS_PYDOT

Para algunas visualizaciones de gráficos, Qiskit utiliza pydot como interfaz para GraphViz (véase HAS_GRAPHVIZ).

qiskit.utils.optionals.HAS_PYGMENTS

Pygments es un resaltador y formateador de código utilizado por muchos entornos que implican la visualización enriquecida de bloques de código, incluidos Sphinx y Jupyter. Qiskit lo utiliza cuando produce resultados enriquecidos para estos entornos.

qiskit.utils.optionals.HAS_PYLATEX

Varias visualizaciones de LaTeX-based, especialmente los cajones de circuitos, necesitan acceder al proyecto pylatexenc para funcionar correctamente.

qiskit.utils.optionals.HAS_QASM3_IMPORT

Las funciones qasm3.load() y qasm3.loads() para importar programas de OpenQASM 3 a instancias de QuantumCircuit instancias utilizan un paquete importador externo.

qiskit.utils.optionals.HAS_SEABORN

Qiskit proporciona varias herramientas de visualización en el módulo visualization módulo. Algunas de ellas están construidas con Seaborn, que debe instalarse para poder utilizarlas.

qiskit.utils.optionals.HAS_SKLEARN

Algunas de las funciones de gradiente en opflow.gradients utilizan métodos de regularización de Scikit Learn.

qiskit.utils.optionals.HAS_SKQUANT

Algunos de los optimizadores de algorithms.optimizers se basan en los de Scikit Quant, que debe instalarse para poder utilizarlos.

qiskit.utils.optionals.HAS_SQSNOBFIT

SQSnobFit es una biblioteca para el algoritmo de "optimización ruidosa estable por bifurcación y ajuste". Lo utiliza el optimizador SNOBFIT .

qiskit.utils.optionals.HAS_SYMENGINE

Symengine es un backend C++ rápido para la biblioteca de manipulación simbólica Sympy. Esta dependencia se utiliza para cargar formatos QPY heredados, en los que este paquete se utilizaba para manejar Parameters.

qiskit.utils.optionals.HAS_SYMPY

SymPy es una biblioteca de « Python » para matemáticas simbólicas. SymPy se utilizaba históricamente para la implementación de la ParameterExpression clase, pero ya no es así. Sin embargo, es necesario para algunas funciones heredadas que utilizan ParameterExpression.sympify(). También se utiliza en algunas funciones de visualización y en la comparación de plantillas.

qiskit.utils.optionals.HAS_TESTTOOLS

El conjunto de pruebas de Qiskit dispone de funciones más avanzadas si se instala la biblioteca opcional testtools. Por lo general, esto sólo es necesario para los desarrolladores de Qiskit.

qiskit.utils.optionals.HAS_TWEEDLEDUM

Tweedledum es una biblioteca de extensión para la síntesis y optimización de circuitos que pueden implicar oráculos clásicos. En el pasado Qiskit PhaseOracle lo utilizaba, pero Qiskit ya no lo utiliza.

qiskit.utils.optionals.HAS_Z3

Z3 es un probador de teoremas, utilizado en los pases CrosstalkAdaptiveSchedule y HoareOptimizer transpilador.

Herramientas externas de línea de comandos

qiskit.utils.optionals.HAS_GRAPHVIZ

Para algunas visualizaciones de gráficos, Qiskit utiliza la herramienta de GraphViz herramienta de visualización a través de su interfaz pydot (véase HAS_PYDOT).

qiskit.utils.optionals.HAS_PDFLATEX

Las herramientas de visualización que utilizan LaTeX en su salida, como los cajones de circuitos, requieren que pdflatex esté disponible. Por lo general, deberá asegurarse de que dispone de una instalación de LaTeX que funcione y del paquete qcircuit.tex .

qiskit.utils.optionals.HAS_PDFTOCAIRO

Las herramientas de visualización que convierten los archivos LaTeX-generated en imágenes rasterizadas utilizan la herramienta pdftocairo . Forma parte del conjunto de herramientas PDF de Poppler.

Clases Lazy Checker

Cada uno de los comprobadores perezosos es una instancia de LazyDependencyManager en una de sus dos subclases LazyImportTester y LazySubprocessTester. Estos deben importarse desde utils directamente si es necesario, como

from qiskit.utils import LazyImportTester

LazyDependencyManager

class qiskit.utils.LazyDependencyManager(*, name=None, callback=None, install=None, msg=None)

GitHub

Bases: ABC

Un gestor para algunas funciones opcionales cuya importación o cuya verificación resultan costosas.

Estos objetos pueden utilizarse como booleanos, como if x, y evaluarán True si la dependencia que comprueban está disponible, y False en caso contrario. La presencia de la dependencia sólo se comprobará cuando se evalúe el booleano, por lo que puede utilizarse como prueba en tiempo de ejecución en funciones y métodos sin necesidad de una prueba en tiempo de importación.

Estos objetos también encapsulan el manejo de errores si su dependencia no está presente, por lo que puede hacer cosas como:

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:
        ...

En todos estos casos, matplotlib no se importa hasta que se introducen las funciones. En el caso del decorador, se comprueba la importación de matplotlib cuando se llama a la función por primera vez. En el segundo y tercer caso, el cargador intenta importar matplotlib cuando se llama al método require_now() o cuando se evalúa el contexto booleano. Para los métodos require , se produce un error si la biblioteca no está disponible.

Esta es la clase base, que proporciona la comprobación booleana de contexto y la gestión de errores. Las clases concretas LazyImportTester y LazySubprocessTester proporcionan puntos de entrada convenientes para comprobar que ciertos símbolos son importables desde módulos, o que ciertas herramientas de línea de comandos están disponibles, respectivamente.

Parámetros

  • name - el nombre de esta dependencia opcional.
  • callback - un callback que se llama inmediatamente después de comprobar la disponibilidad de la biblioteca con el resultado. Sólo se llamará una vez.
  • install - cómo instalar esta dependencia opcional. Pasado a MissingOptionalLibraryError como parámetro pip_install .
  • msg - un mensaje extra para incluir en el error planteado si esto es necesario.
_is_available

abstractmethod _is_available()

GitHub

Las subclases de LazyDependencyManager deben anular este método para implementar la prueba de disponibilidad real. Este método debe devolver un booleano, donde True indica que la dependencia estaba disponible. Este método sólo se llamará una vez.

Tipo de retorno

bool

disable_locally

disable_locally()

GitHub

Crear un contexto, durante el cual el valor del gestor de dependencias será False. Esto significa que dentro del contexto, cualquier llamada a este objeto se comportará como si la dependencia no estuviera disponible, incluyendo la generación de errores. Es válido llamar a este método tanto si ya se ha evaluado la relación como si no. Esto es muy útil en las pruebas.

require_in_call

require_in_call(feature_or_callable: Callable) → Callable

require_in_call(feature_or_callable: str) → Callable[[Callable], Callable]

GitHub

Crear un decorador para callables que requiera que la dependencia esté disponible cuando se llame a la función o método decorado.

Parámetros

feature_or_callable (str or Callable) – el nombre de la función que requiere estas dependencias. Si esta función se llama directamente como un decorador (por ejemplo @HAS_X.require_in_call en lugar de @HAS_X.require_in_call("my feature")), entonces el nombre de la función se tomará como el nombre de la función, o el nombre de la clase y el método según corresponda.

Devuelve

un decorador que hará que su argumento requiera esta dependencia antes de ser llamado.

Tipo de retorno

Invocable

require_in_instance

require_in_instance(feature_or_class: type) → type

require_in_instance(feature_or_class: str) → Callable[[type], type]

GitHub

Un decorador de clase que requiere la dependencia está disponible cuando se inicializa la clase. Este decorador puede utilizarse incluso si la clase no define un método __init__ .

Parámetros

feature_or_class (str orType) – el nombre de la función que requiere estas dependencias. Si esta función se llama directamente como un decorador (por ejemplo @HAS_X.require_in_instance en lugar de @HAS_X.require_in_instance("my feature")), entonces el nombre de la característica se tomará como el nombre de la clase.

Devuelve

un decorador de clase que garantiza que la función envuelta esté presente si se inicializa la clase.

Tipo de retorno

Invocable

require_now

require_now(feature)

GitHub

Intenta importar las dependencias de este objeto y lanza una excepción si no se pueden importar.

Parámetros

feature (str) – el nombre de la función que requiere estas dependencias.

Eleva

MissingOptionalLibraryError - si no se pueden importar las dependencias.

LazyImportTester

class qiskit.utils.LazyImportTester(name_map_or_modules, *, name=None, callback=None, install=None, msg=None)

GitHub

Bases: LazyDependencyManager

Un comprobador de dependencias perezoso para módulos importables de Python. Los objetos necesarios sólo se importarán en el momento en que se compruebe el valor booleano de este objeto.

Parámetros

  • name_map_or_modules (str |dict[str, Iterable[str]] | Iterable[str]) – si se trata de un mapa de nombres, entonces un diccionario en el que las claves son módulos o paquetes, y los valores son iterables de nombres que se intentarán importar desde ese módulo. Debería ser válido escribir from <module> import <name1>, <name2>, .... Si se trata simplemente de una cadena o de una secuencia iterable de cadenas, debería ser válido escribir import <module> para cada una de ellas.
  • name (str | None)
  • callback (Callable[[bool], None] | None)
  • install (str | None)
  • msg (str | None)

Eleva

ValueError - si no se indican módulos.

LazySubprocessTester

class qiskit.utils.LazySubprocessTester(command, *, name=None, callback=None, install=None, msg=None)

GitHub

Bases: LazyDependencyManager

Un comprobador perezoso que una herramienta de línea de comandos está disponible. El comando sólo se ejecutará una vez, en el momento en que se compruebe el valor booleano de este objeto.

Parámetros

  • command (str |Iterable[str]) – las cadenas que componen el comando que se va a ejecutar. Por ejemplo, ["pdflatex", "-version"].
  • name (str | None)
  • callback (Callable[[bool], None] | None)
  • install (str | None)
  • msg (str | None)

Eleva

ValueError - si se da un comando vacío.

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.