Configuração local¶
Uma vez que você tenha Qiskit instalado e em execução, existem algumas etapas de configuração opcionais que você pode tomar para alterar o comportamento padrão do Qiskit para o seu caso de uso específico.
Arquivo de Configuração do Usuário¶
O local principal para configuração local do Qiskit é o arquivo configuração do usuário. Este é um arquivo de formato ini que pode ser usado para alterar padrões no Qiskit.
Por exemplo:
[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
Por padrão, este arquivo se encontra em ~/.qiskit/settings.conf
mas o caminho utilizado pode ser substituído pela variável de ambiente QISKIT_SETTINGS
. Se QISKIT_SETTINGS
for definido, seu valor será usado como o caminho para o arquivo de configuração do usuário.
Opções disponíveis:
circuit_drawer
: Isto é usado para alterar o backend padrão para o drawer de circuitoqiskit.circuit.QuantumCircuit.draw()
eqiskit.visualization. ircuit_drawer()
. Pode ser definido comolatex
,mpl
,text
, oulatex_source
e quando oouptut
kwarg não está explicitamente definido que um backend drawer será usado.
circuit_mpl_style
: Esta é a folha de estilo padrão utilizada para o backend de saídampl
para o drawer de circuitoqiskit. ircuit.QuantumCircuit.draw()
eqiskit.visualization.circuit_drawer()
. Ele pode ser configurado paradefault
oubw
.
circuit_mpl_style_path
: Isso pode ser usado para definir o(s) caminho(s) para o drawer de circuitos,qiskit.circuit.QuantumCircuit.draw()
ouqiskit.visualization.circuit_drawer()
, usar para buscar por folhas de estilo json quando utilizando o modo de saídampl
.
state_drawer
: Isso é usado para mudar o backend padrão dos métodos de desenho de visualização de estados,qiskit.quantum_info.Statevector.draw()
eqiskit.quantum_info.DensityMatrix.draw()
. Ele pode ser definido comorepr
,text
’,latex
,latex_source
,qsphere
,hinton
, ou blochbloch
e quando o kwargoutput
não está definido explicitamente no métododraw()
aquele método de saída será usado.
transpile_optimization_level
: Isto aceita um inteiro entre 0-3 e é utilizado para alterar o nível padrão de otimização paratranspile()
eexecute()
.
parallel
: Esta opção recebe um valor booleano (True
ouFalse
) e é usada para configurar se Python multiprocessing está habilitado para operações que suportam executação em paralelo (por exemplo, a transpilação de múltiplos objetosQuantumCircuit
). A configuração padrão no arquivo de configuração do usuário pode ser sobreposta pela variável de ambienteQISKIT_PARALLEL
.
num_processes
: Esta opção recebe um valor inteiro (> 0) que é usado para especificar o número máximo de processos paralelos a serem iniciados para operações paralelas se a execução paralela estiver ativada. A configuração padrão no arquivo de configuração do usuário pode ser sobreposta pela variável de ambienteQISKIT_NUM_PROCS
.
Variáveis de Ambiente¶
Há também algumas variáveis de ambiente que podem ser definidas para alterar o comportamento padrão do Qiskit.
QISKIT_PARALLEL
: se essa variável estiver definida comoTRUE
, ela permitirá o uso de Python multiprocessing para paralelizar certas operações (por exemplo, a transpilação de vários circuitos) no Qiskit Terra.
QISKIT_NUM_PROCS
: Especifica o número máximo de processos paralelos a serem iniciados para operações paralelas se a execução paralela estiver habilitada. Ele recebe um inteiro > 0 como o valor esperado.
QISKIT_IBMQ_PROVIDER_LOG_LEVEL
: Especifica o nível do log a ser utilizado para os módulosqiskit-ibmq-provider
. Se for definido um nível inválido, o nível de log padrão é AVISO. Os níveis de log válidos sãoDEBUG
,INFO
,AVISO
,ERROR
, andCRITICAL
(maiúsculas e minúsculas). Se a variável de ambiente não está definida, então a nível do logger pai é usada, o que também é padrão paraAVISO
.
QISKIT_IBMQ_PROVIDER_LOG_FILE
: Especifica o nome do arquivo de log a ser usado das mensagens originárias doqiskit-ibmq-provider
. Se especificado, mensagens serão registradas apenas no arquivo. Caso contrário, as mensagens serão registradas no erro padrão (geralmente a tela).
QISKIT_AQUA_MAX_GATES_PER_JOB
: Um parâmetro opcional para definir um limite para dividir a Aqua gerou circuitos para cima em várias tarefas enviadas a um backend com base no número de portas.