1.2. Variáveis de ambiente #
estas variáveis de ambiente influenciam o comportamento do Python, elas são processadas antes dos interruptores de linha de comando que não – e ou-I. é habitual que os interruptores de linha e comando sobreponham variáveis ambientais onde há um conflito.
PYTHONHOME
¶
mude a localização das bibliotecas padrão em Python., Por padrão, thelibraries são pesquisados prefix/lib/pythonversion
eexec_prefix/lib/pythonversion
, onde prefix
eexec_prefix
são a instalação de dependentes de directórios, tanto defaultingto /usr/local
.
When PYTHONHOME
is set to a single directory, its value replacesboth prefix
and exec_prefix
. Para especificar valores diferentes para estes, defina PYTHONHOME
para prefix:exec_prefix
.
PYTHONPATH
¶
aumenta o caminho de pesquisa por omissão para os ficheiros do módulo., O formato é o mesmo asthe shell PATH
: um ou mais caminhos de diretório separados poros.pathsep
(e.g. dois pontos no Unix ou ponto-e-vírgula no Windows).Diretórios inexistentes são silenciosamente ignorados.
In addition to normal directories, individual PYTHONPATH
entriesmay refer to zipfiles containing pure Python modules (in either source or compliled form). Os módulos de extensão não podem ser importados dos ficheiros Zip.,
O caminho de pesquisa por omissão é dependente da instalação, mas geralmente começa com prefix/lib/pythonversion
(ver PYTHONHOME
acima). Itis always appended to PYTHONPATH
.
será inserida uma pasta adicional na localização de pesquisa em frente aPYTHONPATH
conforme descrito acima nas opções da interface. O caminho de pesquisa pode ser manipulado a partir de um programa Python como a variável sys.path
.
PYTHONPLATLIBDIR
¶
Se esta for definida para uma cadeia não-vazia, sobrepõe-se ao valor sys.platlibdir
.,
novo na versão 3.9.
PYTHONSTARTUP
¶ O ficheiro é executado no mesmo espaço de nomes em que são executados comandos interactivos para que os objectos nele definidos ou importados possam ser utilizados sem qualificação na sessão interactiva. Você também pode alterar as instruçõessys.ps1
esys.ps2
e o ganchosys.__interactivehook__
neste arquivo.,
levanta um evento de auditoria cpython.run_startup
com o nome do ficheiro como argumento quando chamado no arranque.
¶
Se este for definido para uma cadeia não-vazia, é equivalente a especificar a opção-O
. Se definido para um inteiro, é equivalente a especificar-O
múltiplas vezes.
PYTHONBREAKPOINT
¶
If this is set, it names a callable using Track-path notation., O modulocontaining the callable será importado e, em seguida, o callable será executado pela implementação padrão de sys.breakpointhook()
que é chamado por si mesmo por built-in breakpoint()
. Se não for definido, ou ajustado para o emptystring, é equivalente ao valor “pdb.set_trace”. Definir isto como thestring “0”faz com que a implementação padrão de sys.breakpointhook()
não faça nada além de retornar imediatamente.
novo na versão 3.7.,
PYTHONDEBUG
¶
Se este for definido para uma cadeia não-vazia, é equivalente a especificar a opção-d
. Se definido para um inteiro, é equivalente a especificar-d
múltiplas vezes.
PYTHONOLDPARSER
¶
Se esta for definida para uma cadeia não vazia, active o analisador LL(1) tradicional.
See also the -X
oldparser
option and PEP 617.
desactualizado desde a versão 3.9, será removido na versão 3.10.,
PYTHONINSPECT
¶
Se este for definido para uma cadeia não-vazia, é equivalente a especificar a opção-i
.
esta variável também pode ser modificada pelo código Python usando os.environ
para forçar o modo inspecionado no término do programa.
PYTHONUNBUFFERED
¶
If this is set to a non-empty string it is equivalent to specifying the-u
option.
PYTHONVERBOSE
¶
If this is set to a non-empty string it is equivalent to specifying the-v
option., Se definido para um inteiro, é equivalente a especificar-v
múltiplas vezes.
PYTHONCASEOK
¶
If this is set, Python ignores case inimport
statements. Thisonly trabalha no Windows e no OS X.
PYTHONDONTWRITEBYTECODE
¶ p>Se este for definido para uma cadeia não-vazia, o Python não tentará escrever.pyc
ficheiros na importação de módulos de origem. Isto é equivalente àpecificação da opção-B
.,PYTHONPYCACHEPREFIX
n
Se esta estiver definida, o Python vai escrever .pyc
arquivos em um espelho diretório treeat esse caminho, em vez de no __pycache__
diretórios dentro do sourcetree. Isto é equivalente a especificar a opção -X
pycache_prefix=PATH
.
novo na versão 3.8.
PYTHONHASHSEED
n
Se esta variável não estiver definida ou definida como random
, um valor aleatório é usedto semente hashes de str e bytes objetos.,
If PYTHONHASHSEED
is set to an integer value, it is used as a fixedeed for generating the hash() of the types covered by the hashrandomization.
Sua finalidade é permitir hashing repetível, como para selftests para o próprio interpretador, ou para permitir que um conjunto de processos python compartilhem hashvalues.
O número inteiro deve ser um número decimal no intervalo . Especificar o valor 0 irá desactivar a aleatorização de hash.
novo na versão 3.2.3.,
PYTHONIOENCODING
¶
Se isto estiver definido antes de executar o interpretador, sobrepõe-se à codificação usada para stdin/stdout/stderr, na sintaxe encodingname:errorhandler
. Ambas encodingname
e o :errorhandler
peças são opcionais e havethe mesmo significado str.encode()
.
para stderr, a parte :errorhandler
é ignorada; o manipulador será sempre'backslashreplace'
.
alterado na versão 3.4: a parte encodingname
é agora opcional.
alterado na versão 3.,6: no Windows, a codificação especificada por esta variável é ignorada para os buffers interactiveconsoles, a menos que PYTHONLEGACYWINDOWSSTDIO
seja também especificada.Arquivos e tubos redirecionados através dos fluxos padrão não são afetados.
PYTHONNOUSERSITE
¶
If this is set, Python won’t add the user site-packages directory
to .,
Veja também:
PEP 370 – Por usuário do site diretório de pacotes
PYTHONUSERBASE
n
Define user base directory
o que é usado para calcular o caminho de user site-packages directory
e Distutils caminhos de instalação dopython setup.py install --user
.
Veja também:
PEP 370 – Por usuário do site diretório de pacotes
PYTHONEXECUTABLE
n
Se esta variável de ambiente é definida, sys.argv
será definido para itsvalue em vez do valor passei a C de tempo de execução. Só funciona no ONMAC OS X.,
PYTHONWARNINGS
¶
isto é equivalente à opção. If set to a commaseparated string, it is equivalent to specifying -W
multiplexes, with filters later in the list taking precedence over those earlier in the list.
As configurações mais simples de aplicar uma determinada ação, incondicionalmente, para allwarnings emitida por um processo (mesmo aqueles que são de outra forma ignorado bydefault):
PYTHONWARNINGS=default # Warn once per call locationPYTHONWARNINGS=error # Convert to exceptionsPYTHONWARNINGS=always # Warn every timePYTHONWARNINGS=module # Warn once per calling modulePYTHONWARNINGS=once # Warn once per Python processPYTHONWARNINGS=ignore # Never warn
Veja Os Avisos do Filtro e Descrevendo Aviso de Filtros para moredetails.,
PYTHONFAULTHANDLER
n
Se esta variável de ambiente é definida como uma seqüência não vazia,faulthandler.enable()
é chamado na inicialização: instalar um manipulador paraSIGSEGV
SIGFPE
SIGABRT
SIGBUS
eSIGILL
sinais para despejar o Python traço. Isto é equivalente a-X
faulthandler
opção.
novo na versão 3.3.,
PYTHONTRACEMALLOC
¶
If this environment variable is set to a non-empty string, start tracingPython memory allocations using the tracemalloc
module. O valor da variável é o número máximo de quadros armazenados em um traceback de atrace. Por exemplo, PYTHONTRACEMALLOC=1
armazena apenas o modelo mais recente. Ver o tracemalloc.start()
para mais informações.
novo na versão 3.4.
PYTHONPROFILEIMPORTTIME
¶
Se esta variável de ambiente estiver configurada para uma cadeia não-vazia, o Python irá mostrar quanto tempo cada importação demora., Isto é exatamente equivalente à configuração-X importtime
na linha de comando.
novo na versão 3.7.
PYTHONASYNCIODEBUG
¶
If this environment variable is set to a non-empty string, enable thedebug mode of theasyncio
module.
novo na versão 3.4.
PYTHONMALLOC
¶
Set the Python memory allocators and / or install debug hooks.,
define a família de alocadores de memória usados por Python:
instalar ganchos de depuração:
-
debug
: instalar ganchos de depuração em cima dos dispositivos de memória predefinidos. -
malloc_debug
: o mesmo quemalloc
mas também instalar ganchos de depuração. -
pymalloc_debug
: o mesmo quepymalloc
mas também instalar ganchos de depuração.
ver os alocadores de memória predefinidos e a funçãoPyMem_SetupDebugHooks()
(instalar ganchos de depuração em alocadores Pythonmemory).
alterado na versão 3.,7: Added the allocator.
novo na versão 3.6.
PYTHONMALLOCSTATS
¶
Se configurado para uma cadeia não-vazia, o Python irá imprimir estatísticas do alocador de memória do pymalloc cada vez que um novo objectarena do pymalloc é criado, e ao desligar.
Esta variável é ignorada se o PYTHONMALLOC
ambiente variableis usada para forçar o malloc()
alocador da biblioteca C, ou ifPython é configurado sem pymalloc
apoio.
alterado na versão 3.,6: Esta variável agora também pode ser usada no Python compilado no lançamento mode.It agora não tem efeito se configurado para um texto vazio.
PYTHONLEGACYWINDOWSFSENCODING
¶
Se configurado para uma cadeia não vazia, a codificação por omissão do sistema de ficheiros e o modewall reverterão para os seus valores pré-3.6 de ‘mbcs’ e ‘replace’, respectivamente.Caso contrário, são utilizados os novos valores por omissão ‘utf-8’ e ‘Substituto’.
isto também pode ser ativado em tempo de execução comsys._enablelegacywindowsfsencoding()
.
disponibilidade: Windows.
New in version 3.6: See PEP 529 for more details.,
¶
Se configurado para uma cadeia não vazia, não usa o novo leitor e escritor da consola. Isso significa que os caracteres Unicode serão codificados de acordo com a página de código do console ativo, em vez de usar utf-8.
esta variável é ignorada se os fluxos padrão são redirecionados (para tubos filesor) ao invés de se referir a tampões de console.
disponibilidade: Windows.
novo na versão 3.6.,
PYTHONCOERCECLOCALE
¶ p>If set to the value0
, causes the main Python command line application to skip coercing the legacy ASCII-based C and POSIX locales to a morecapable UTF-8 based alternative.,mais explicitamente baseados em ASCIIPOSIX
locale, em seguida, thePython CLI irá tentar configurar as seguintes localidades para oLC_CTYPE
categoria na ordem listada antes de carregar o interpreterruntime:
-
C.UTF-8
-
C.utf8
-
UTF-8
Se a definição de uma dessas categorias de locale for bem sucedido, o LC_CTYPE
variável de ambiente também será definida de acordo com o atual processenvironment antes de o tempo de execução do Python é inicializado., Isso garante que inaddition para ser visto por ambos o intérprete de si mesmo e a outros localidade awarecomponents em execução no mesmo processo (como o GNU readline
biblioteca), a definição atualizada também é visto em subprocessos (independentemente ofwhether ou não esses processos são a execução de um interpretador de Python), bem asin operações que consulta o ambiente, em vez da atual C localidade(como Python próprio locale.getdefaultlocale()
).,
a Configuração de uma dessas localidades (explicitamente ou através do aboveimplicit localidade coerção) habilita automaticamente o surrogateescape
processador de erros para sys.stdin
esys.stdout
(sys.stderr
continua a usar backslashreplace
como em qualquer outra localidade). Este comportamento de manipulação de fluxo pode ser contornado usando PYTHONIOENCODING
como de costume.,
para fins de depuração, a configuração de PYTHONCOERCECLOCALE=warn
causará a emissão de mensagens de aviso em stderr
se a coerção localactivar, ou então se uma localização que teria despoletado a coerção isstill activa quando a execução em Python é inicializada.
também note que mesmo quando a coerção local é desativada, ou quando ela não consegue encontrar um local de destino adequado, PYTHONUTF8
ainda irá ativar por omissão em locais baseados em ASCII legados., Ambos os recursos devem ser desativados para forçar o interpretador a usar ASCII
em vez de UTF-8
interfaces forsystem.
disponibilidade: *nix.
New in version 3.7: See PEP 538 for more details.
PYTHONDEVMODE
n
Se esta variável de ambiente é definida como uma seqüência não vazia, enablePython Modo de Desenvolvimento, a introdução adicional de runtimechecks que são caros demais para ser activado por predefinição.
novo na versão 3.7.,
PYTHONUTF8
¶
If set to1
, activa o modo UTF-8 do interpretador, ondeUTF-8
isused as the text encoding for system interfaces, independentement of theurrent locale setting.
Isto significa que:
sys.getfilesystemencoding()
retorna'UTF-8'
(a localeencoding é ignorado).
locale.getpreferredencoding()
retorna'UTF-8'
(a localeencoding é ignorada, e a função dodo_setlocale
parâmetro tem noeffect).,F-8, como sua codificação de texto, com osurrogateescape
manipulador de erro que está sendo habilitado parasys.stdin
esys.stdout
(sys.stderr
continua a usarbackslashreplace
como faz no padrão de reconhecimento de localidade modo)
Como conseqüência das alterações nessas APIs de nível inferior, outros higherlevel APIs também apresentam um padrão diferente de comportamentos:
argumentos de linha de Comando, variáveis de ambiente e nomes de arquivos são decodedto de texto usando a codificação UTF-8.,
os.fsdecode()
eos.fsencode()
use a codificação UTF-8.
open()
io.open()
ecodecs.open()
utilizar o UTF-8encoding por padrão. No entanto, eles ainda usam o manipulador de erros estrito por omissão para que a tentativa de abrir um arquivo binário no modo de texto é provável para levantar uma exceção ao invés de produzir dados sem sentido.,
Note que o padrão de fluxo de definições em UTF-8 no modo pode ser substituída porPYTHONIOENCODING
(assim como eles podem ser a localidade padrão-awaremode).
Se configurado para0
, o interpretador executa no seu modo de localização predefinido.
a configuração de qualquer outro texto não-vazio causa um erro durante a inicialização interpretativa.,
Se esta variável de ambiente não estiver definida de todo, então o interpretador defaulta para usar a configuração local actual, a menos que a localização actual seja identificada como uma localização baseada em ASCII legada(como descrito para PYTHONCOERCECLOCALE
), e a coerção local não esteja desactivada ou falhe. Em tais locales legados, o interpretador irá default para permitir o modo UTF-8, a menos que explicitamente instruído a não fazê-lo.
também disponível como a opção-X
utf8
.
New in version 3.7: See PEP 540 for more details.
1.2.1., Variáveis de modo de depuração¶
A definição destas variáveis só tem um efeito numa compilação de depuração do Python.
PYTHONTHREADDEBUG
¶
Se estiver definido, o Python irá imprimir a informação de depuração por tópicos.
necessita do Python configurado com a opção de compilação --with-pydebug
.
PYTHONDUMPREFS
¶
Se estiver definido, o Python irá despejar objectos e contagens de referência ainda vivas depois de estripar o interpretador.
necessita do Python configurado com a opção build --with-trace-refs
.