Local Configuration¶
Once you have Qiskit installed and running there are some optional configuration steps you can take to change the default behavior of Qiskit for your specific use case.
User Config File¶
The main location for local configuration of Qiskit is the user config file. This is an ini format file that can be used to change defaults in Qiskit.
For example:
[default]
circuit_drawer = mpl
circuit_mpl_style = default
circuit_mpl_style_path = ~:~/.qiskit
state_drawer = hinton
transpile_optimization_level = 3
parallel = False
num_processes = 15
By default this file lives in ~/.qiskit/settings.conf
but the path used
can be overriden with the QISKIT_SETTINGS
environment variable. If
QISKIT_SETTINGS
is set its value will used as the path to the user config
file.
Available options:
circuit_drawer
: This is used to change the default backend for the circuit drawerqiskit.circuit.QuantumCircuit.draw()
andqiskit.visualization.circuit_drawer()
. It can be set tolatex
,mpl
,text
, orlatex_source
and when theouptut
kwarg is not explicitly set that drawer backend will be used.
circuit_mpl_style
: This is the default style sheet used for thempl
output backend for the circuit drawerqiskit.circuit.QuantumCircuit.draw()
andqiskit.visualization.circuit_drawer()
. It can be set todefault
orbw
.
circuit_mpl_style_path
: This can be used to set the path(s) to have the circuit drawer,qiskit.circuit.QuantumCircuit.draw()
orqiskit.visualization.circuit_drawer()
, use to look for json style sheets when using thempl
output mode.
state_drawer
: This is used to change the default backend for the state visualization draw methodsqiskit.quantum_info.Statevector.draw()
andqiskit.quantum_info.DensityMatrix.draw()
. It can be set torepr
,text
’,latex
,latex_source
,qsphere
,hinton
, or blochbloch
and when theoutput
kwarg is not explicitly set on thedraw()
method that output method will be used.
transpile_optimization_level
: This takes an integer between 0-3 and is used to change the default optimization level fortranspile()
andexecute()
.
parallel
: This option takes a boolean value (eitherTrue
orFalse
) and is used to configure whether Python multiprocessing is enabled for operations that support running in parallel (for example transpilation of multipleQuantumCircuit
objects). The default setting in the user config file can be overriden by theQISKIT_PARALLEL
environment variable.
num_processes
: This option takes an integer value (> 0) that is used to specify the maximum number of parallel processes to launch for parallel operations if parallel execution is enabled. The default setting in the user config file can be overriden by theQISKIT_NUM_PROCS
environment variable.
Environment Variables¶
There are also a few environment variables that can be set to alter the default behavior of Qiskit.
QISKIT_PARALLEL
: if this variable is set toTRUE
it will enable the use of Python multiprocessing to parallelize certain operations (for example transpilation over multiple circuits) in Qiskit Terra.
QISKIT_NUM_PROCS
: Specifies the maximum number of parallel processes to launch for parallel operations if parallel execution is enabled. It takes an integer > 0 as the expected value.
QISKIT_IBMQ_PROVIDER_LOG_LEVEL
: Specifies the log level to use, for theqiskit-ibmq-provider
modules. If an invalid level is set, the log level defaults to WARNING. The valid log levels areDEBUG
,INFO
,WARNING
,ERROR
, andCRITICAL
(case-insensitive). If the environment variable is not set, then the parent logger’s level is used, which also defaults toWARNING
.
QISKIT_IBMQ_PROVIDER_LOG_FILE
: Specifies the name of the log file to use from log messages originating fromqiskit-ibmq-provider
. If specified, messages will be logged to the file only. Otherwise messages will be logged to the standard error (usually the screen).
QISKIT_AQUA_MAX_GATES_PER_JOB
: An optional parameter to set a threshold for splitting Aqua generated circuits up into multiple jobs submitted to a backend based on the number of gates.