3. Configurando o Python¶
3.1. Opções de configuração¶
Liste todas as opções do ./configure usando:
./configure --help
Veja também o Misc/SpecialBuilds.txt na distribuição de código-fonte do Python.
3.1.1. Opções gerais¶
- --enable-loadable-sqlite-extensions¶
Suporte a extensões carregáveis no módulo de extensão
_sqlite(o padrão é não) do módulosqlite3.Veja o método
sqlite3.Connection.enable_load_extension()do módulosqlite3.Novo na versão 3.6.
- --disable-ipv6¶
Desabilita suporte a IPv6 (habilitado por padrão se houver suporte), veja o módulo
socket.
- --enable-big-digits=[15|30]¶
Define o tamanho em bits dos dígitos de
intdo Python: 15 ou 30 bits.Por padrão, o tamanho dos dígitos é 30.
Define o
PYLONG_BITS_IN_DIGITpara15ou30.
- --with-cxx-main¶
- --with-cxx-main=COMPILER¶
Compila a função
main()do Python e vincula o executável do Python ao compilador C++:$CXXou COMPILER se especificado.
- --with-suffix=SUFFIX¶
Define o sufixo do executável do Python para SUFFIX.
O sufixo padrão é
.exeno Windows e macOS (executávelpython.exe),.jsem nó Emscripten,.htmlem navegador Emscripten,.wasmem WASI e uma string vazia em outras plataformas (executávelpython).Alterado na versão 3.11: O sufixo padrão na plataforma WASM é um entre
.js,.htmlou.wasm
- --with-tzpath=<list of absolute paths separated by pathsep>¶
Seleciona o caminho de pesquisa de fuso horário padrão para
zoneinfo.TZPATH. Veja a Configuração de tempo de compilação do módulozoneinfo.Padrão:
/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo.Veja o separador de caminhos
os.pathsep.Novo na versão 3.9.
- --without-decimal-contextvar¶
Constrói o módulo de extensão
_decimalusando um contexto local de thread ao invés de um contexto local de corrotina (padrão), veja o módulodecimal.Veja
decimal.HAVE_CONTEXTVARe o módulocontextvars.Novo na versão 3.9.
- --with-dbmliborder=<list of backend names>¶
Substitui a ordem de verificação de backends de banco de dados para o módulo
dbmUm valor válido é uma string separada por dois pontos (
:) com os nomes de backend:ndbm;gdbm;bdb.
- --without-c-locale-coercion¶
Desabilita a coerção de localidade C para uma localidade baseada em UTF-8 (ativada por padrão).
Não define a macro
PY_COERCE_C_LOCALE.Consulte
PYTHONCOERCECLOCALEe a PEP 538.
- --with-platlibdir=DIRNAME¶
Nome do diretório da biblioteca Python (o padrão é
lib).Fedora e SuSE usam
lib64em plataformas de 64 bits.Veja
sys.platlibdir.Novo na versão 3.9.
- --with-wheel-pkg-dir=PATH¶
Diretório de pacotes de wheel usados pelo módulo
ensurepip(nenhum por padrão).Algumas políticas de empacotamento de distribuição do Linux recomendam contra o empacotamento de dependências. Por exemplo, o Fedora instala pacotes wheel no diretório
/usr/share/python-wheels/e não instala o pacoteensurepip._bundled.Novo na versão 3.10.
- --with-pkg-config=[check|yes|no]¶
Se o configure deve usar pkg-config para detectar dependências de construção.
check(padrão): pkg-config é opcionalyes: pkg-config é obrigatóriono: configure não usa pkg-config mesmo quando presente
Novo na versão 3.11.
- --enable-pystats¶
Ativa a coleta de estatísticas internas.
The statistics will be dumped to a arbitrary (probably unique) file in
/tmp/py_stats/, orC:\temp\py_stats\on Windows.Use
Tools/scripts/summarize_stats.pypara ler as estatísticas.Novo na versão 3.11.
3.1.2. Opções de WebAssembly¶
- --with-emscripten-target=[browser|node]¶
Define o “sabor” de construção para
wasm32-emscripten.browser(padrão): pré-carrega stdlib mínima, MEMFS padrão.node: suporte a NODERAWFS e pthread.
Novo na versão 3.11.
- --enable-wasm-dynamic-linking¶
Ativa o suporte de vinculação dinâmica para WASM.
A vinculação dinâmica permite
dlopen. O tamanho do arquivo executável aumenta devido à eliminação limitada de código morto e recursos adicionais.Novo na versão 3.11.
- --enable-wasm-pthreads¶
Ativa o suporte a pthreads para WASM.
Novo na versão 3.11.
3.1.3. Opções de instalação¶
- --prefix=PREFIX¶
Instala arquivos independentes de arquitetura em PREFIX. No Unix, o padrão é
/usr/local.Este valor pode ser recuperado em tempo de execução usando
sys.prefix.Como exemplo, pode-se usar
--prefix="$HOME/.local/"para instalar um Python em seu diretório pessoal (home).
- --exec-prefix=EPREFIX¶
Instala arquivos dependentes de arquitetura no EPREFIX, o padrão é
--prefix.Este valor pode ser recuperado em tempo de execução usando
sys.exec_prefix.
3.1.4. Opções de desempenho¶
Configuring Python using --enable-optimizations --with-lto (PGO + LTO) is
recommended for best performance.
- --enable-optimizations¶
Habilita a otimização guiada por perfil (PGO, do inglês Profile Guided Optimization) usando
PROFILE_TASK(desabilitado por padrão).O compilador C Clang requer o programa
llvm-profdatapara PGO. No macOS, o GCC também exige: o GCC é apenas um apelido para o Clang no macOS.Desabilita também a interposição semântica no libpython se
--enable-sharede GCC forem usados: adiciona-fno-semantic-interpositionaos sinalizadores do compilador e do vinculador.Novo na versão 3.6.
Alterado na versão 3.10: Usa
-fno-semantic-interpositionno GCC.
- PROFILE_TASK¶
Variável de ambiente usada no Makefile: argumentos de linha de comando do Python para a tarefa de geração de PGO.
Padrão:
-m test --pgo --timeout=$(TESTTIMEOUT).Novo na versão 3.8.
- --with-lto=[full|thin|no|yes]¶
Habilita o otimização em tempo de vinculação (LTO, do inglês Link Time Optimization) em qualquer construção (desabilitado por padrão).
O compilador C Clang requer
llvm-arpara LTO (arno macOS), bem como um vinculador compatível com LTO (ld.goldoulld).Novo na versão 3.6.
Novo na versão 3.11: Para usar o recurso ThinLTO, use
--with-lto=thinno Clang.
- --with-computed-gotos¶
Habilita “gotos” computados no laço de avaliação (habilitado por padrão em compiladores suportados).
- --without-pymalloc¶
Desabilita o alocador de memória especializado do Python pymalloc (habilitado por padrão).
Veja também a variável de ambiente
PYTHONMALLOC.
- --without-doc-strings¶
Desabilita as strings de documentação estática para reduzir o consumo de memória (habilitado por padrão). As strings de documentação definidas em Python não são afetadas.
Não define a macro
WITH_DOC_STRINGS.Veja a macro
PyDoc_STRVAR().
- --enable-profiling¶
Habilita o perfil de código a nível C com
gprof(desabilitado por padrão).
3.1.5. Compilação de depuração do Python¶
Uma compilação de depuração é Python compilada com a opção de configuração --with-pydebug.
Efeitos de uma compilação de depuração:
Exibe todos os avisos por padrão: a lista de filtros de aviso padrão está vazia no módulo
warnings.Adiciona
dasys.abiflags.Adiciona a função
sys.gettotalrefcount().Adiciona a opção de linha de comando
-X showrefcount.Add
PYTHONTHREADDEBUGenvironment variable.Adiciona suporte para a variável
__lltrace__: habilita o rastreamento de baixo nível no laço de avaliação de bytecode se a variável estiver definida.Instala ganchos de depuração nos alocadores de memória para detectar estouro de buffer e outros erros de memória.
Define as macros
Py_DEBUGePy_REF_DEBUG.Adiciona verificações de tempo de execução: código cercado por
#ifdef Py_DEBUGe#endif. Habilita as asserçõesassert(...)e_PyObject_ASSERT(...): não define a macroNDEBUG(veja também a configuração--with-assertionsopção). Principais verificações de tempo de execução:Adiciona verificações de sanidade nos argumentos da função.
Objetos Unicode e int são criados com sua memória preenchida com um padrão para detectar o uso de objetos não inicializados.
Garante que as funções que podem limpar ou substituir a exceção atual não sejam chamadas com uma exceção levantada.
Verifica se as funções desalocadoras não alteram a exceção atual.
O coletor de lixo (função
gc.collect()) executa algumas verificações básicas na consistência dos objetos.A macro
Py_SAFE_DOWNCAST()verifica o underflow e o overflow de inteiros ao fazer o downcast de tipos largos para tipos estreitos.
Veja também o Modo de Desenvolvimento do Python e a opção de configuração --with-trace-refs.
Alterado na versão 3.8: Compilações de lançamento e compilações de depuração agora são compatíveis com ABI: definir a macro Py_DEBUG não implica mais na macro Py_TRACE_REFS (consulte a opção --with-trace-refs), que apresenta a única incompatibilidade de ABI.
3.1.6. Opções de depuração¶
- --with-pydebug¶
Construção de depuração do Python: define a macro
Py_DEBUG(desabilitada por padrão).
- --with-trace-refs¶
Habilita referências de rastreamento para fins de depuração (desabilitado por padrão).
Efeitos:
Define a macro
Py_TRACE_REFS.Adiciona a função
sys.getobjects().Adiciona a variável de ambiente
PYTHONDUMPREFS.
Esta construção não é compatível com ABI com a construção de lançamento (construção padrão) ou construção de depuração (macros
Py_DEBUGePy_REF_DEBUG).Novo na versão 3.8.
- --with-assertions¶
Constrói com asserções C habilitadas (o padrão é não):
assert(...);e_PyObject_ASSERT(...);.Se definido, a macro
NDEBUGnão é definida na variável do compiladorOPT.Veja também a opção
--with-pydebug(construção de depuração) que também habilita asserções.Novo na versão 3.6.
- --with-valgrind¶
Habilita suporte ao Valgrind (o padrão é não).
- --with-dtrace¶
Habilita suporte ao DTrace (o padrão é não).
Veja Instrumentando o CPython com DTrace e SystemTap.
Novo na versão 3.6.
- --with-address-sanitizer¶
Habilita o detector de erros de memória AddressSanitizer,
asan(o padrão é não).Novo na versão 3.6.
- --with-memory-sanitizer¶
Habilita o detector de erros de alocação do MemorySanitizer,
msan(o padrão é não).Novo na versão 3.6.
- --with-undefined-behavior-sanitizer¶
Habilita o detector de comportamento indefinido UndefinedBehaviorSanitizer,
ubsan(o padrão é não).Novo na versão 3.6.
3.1.7. Opções da ligação¶
Habilita a construção de uma biblioteca Python compartilhada:
libpython(o padrão é não).
- --without-static-libpython¶
Não constrói
libpythonMAJOR.MINOR.ae não instalapython.o(construído e habilitado por padrão).Novo na versão 3.10.
3.1.8. Opções da biblioteca¶
- --with-libs='lib1 ...'¶
Vincula bibliotecas adicionais (o padrão é não).
- --with-system-expat¶
Constrói o módulo
pyexpatusando uma bibliotecaexpatinstalada (o padrão é não).
- --with-system-ffi¶
Build the
_ctypesextension module using an installedffilibrary, see thectypesmodule (default is system-dependent).
- --with-system-libmpdec¶
Constrói o módulo de extensão
_decimalusando uma bibliotecampdecinstalada, veja o módulodecimal(o padrão é não).Novo na versão 3.3.
- --with-readline=editline¶
Usa a biblioteca
editlinepara backend do móduloreadline.Define a macro
WITH_EDITLINE.Novo na versão 3.10.
- --without-readline¶
Não constrói o módulo
readline(construído por padrão).Não define a macro
HAVE_LIBREADLINE.Novo na versão 3.10.
- --with-libm=STRING¶
Substitui a biblioteca matemática
libmpor STRING (o padrão depende do sistema).
- --with-libc=STRING¶
Substitui a biblioteca C
libcpor STRING (o padrão depende do sistema).
- --with-openssl=DIR¶
Raiz do diretório OpenSSL.
Novo na versão 3.7.
- --with-openssl-rpath=[no|auto|DIR]¶
Define o diretório da biblioteca de tempo de execução (rpath) para bibliotecas OpenSSL:
no(padrão): não define o rpath;auto: detecta automaticamente o rpath de--with-opensslepkg-config;DIR: define um rpath explícito.
Novo na versão 3.10.
3.1.9. Opções de segurança¶
- --with-hash-algorithm=[fnv|siphash13|siphash24]¶
Seleciona o algoritmo de hash para usar em
Python/pyhash.c:siphash13(padrão);siphash24;fnv.
Novo na versão 3.4.
Novo na versão 3.11:
siphash13é adicionado e é o novo padrão.
- --with-builtin-hashlib-hashes=md5,sha1,sha256,sha512,sha3,blake2¶
Módulos embutidos de hash
md5;sha1;sha256;sha512;sha3(com shake);blake2.
Novo na versão 3.9.
- --with-ssl-default-suites=[python|openssl|STRING]¶
Substitui a string dos conjuntos de criptografia padrão do OpenSSL:
python(padrão): use a seleciona preferida do Python;openssl: mantém inalterados os padrões do OpenSSL;STRING: usa uma string personalizada
Veja o módulo
ssl.Novo na versão 3.7.
Alterado na versão 3.10: As configurações
pythone STRING também definem TLS 1.2 como versão mínima do protocolo.
3.1.10. Opções do macOS¶
Veja Mac/README.rst.
- --enable-universalsdk¶
- --enable-universalsdk=SDKDIR¶
Cria uma construção binária universal. SDKDIR especifica qual SDK do macOS deve ser usado para executar a construção (o padrão é não).
- --enable-framework¶
- --enable-framework=INSTALLDIR¶
Cria um Python.framework em vez de uma instalação tradicional do Unix. O INSTALLDIR opcional especifica o caminho de instalação (o padrão é não).
- --with-universal-archs=ARCH¶
Especifica o tipo de binário universal que deve ser criado. Esta opção só é válida quando
--enable-universalsdkestá definido.Opções:
universal2;32-bit;64-bit;3-way;intel;intel-32;intel-64;all.
- --with-framework-name=FRAMEWORK¶
Especifica o nome do framework python no macOS válido apenas quando
--enable-frameworkestá definido (padrão:Python).
3.1.11. Opções de compilação cruzada¶
A compilação cruzada, também conhecida como construção cruzada, pode ser usada para construir Python para outra arquitetura ou plataforma de CPU. A compilação cruzada requer um interpretador Python para a plataforma de construção. A versão do Python para construção deve corresponder à versão do Python da compilação cruzada do host.
- --build=BUILD¶
configura para construir em BUILD, geralmente adivinhado por config.guess.
- --host=HOST¶
faz compilação cruzada para construir programas para executar no HOST (plataforma de destino)
- --with-build-python=path/to/python¶
caminho para construir o binário
pythonpara compilação cruzadaNovo na versão 3.11.
- CONFIG_SITE=file¶
Uma variável de ambiente que aponta para um arquivo com substituições de configuração.
Exemplo de arquivo config.site:
# config.site-aarch64 ac_cv_buggy_getaddrinfo=no ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no
Exemplo de compilação cruzada:
CONFIG_SITE=config.site-aarch64 ../configure \
--build=x86_64-pc-linux-gnu \
--host=aarch64-unknown-linux-gnu \
--with-build-python=../x86_64/python
3.2. Sistema de Construção Python¶
3.2.1. Arquivos principais do sistema de construção¶
configure.ac=>configure;Makefile.pre.in=>Makefile(criado porconfigure);pyconfig.h(criado porconfigure);Modules/Setup: Extensões C construídas pelo Makefile usando o shell scriptModule/makesetup;setup.py: C extensions built using thedistutilsmodule.
3.2.2. Principais etapas de construção¶
Arquivos C (
.c) são construídos como arquivos objeto (.o).Uma biblioteca estática
libpython(.a) é criada a partir de arquivos de objetos.python.oe a biblioteca estáticalibpythonestão vinculadas ao programa finalpython.C extensions are built by the Makefile (see
Modules/Setup) andpython setup.py build.
3.2.3. Alvos principais do Makefile¶
make: Build Python with the standard library.make platform:: build thepythonprogram, but don’t build the standard library extension modules.make profile-opt: build Python using Profile Guided Optimization (PGO). You can use the configure--enable-optimizationsoption to make this the default target of themakecommand (make allor justmake).make buildbottest: Build Python and run the Python test suite, the same way than buildbots test Python. SetTESTTIMEOUTvariable (in seconds) to change the test timeout (1200 by default: 20 minutes).make install: Build and install Python.make regen-all: Regenerate (almost) all generated files;make regen-stdlib-module-namesandautoconfmust be run separately for the remaining generated files.make clean: Remove built files.make distclean: Same thanmake clean, but remove also files created by the configure script.
3.2.4. Extensões C¶
Algumas extensões C são construídas como módulos embutidos, como o módulo sys. Eles são construídos com a macro Py_BUILD_CORE_BUILTIN definida. Módulos embutidos não possuem nenhum atributo __file__:
>>> import sys
>>> sys
<module 'sys' (built-in)>
>>> sys.__file__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'sys' has no attribute '__file__'
Outras extensões C são construídas como bibliotecas dinâmicas, como o módulo _asyncio. Eles são construídos com a macro Py_BUILD_CORE_MODULE definida. Exemplo no Linux x86-64:
>>> import _asyncio
>>> _asyncio
<module '_asyncio' from '/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'>
>>> _asyncio.__file__
'/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'
Modules/Setup é usado para gerar alvos Makefile para construir extensões C. No início dos arquivos, as extensões C são construídas como módulos embutidos. Extensões definidas após o marcador *shared* são construídas como bibliotecas dinâmicas.
The setup.py script only builds C extensions as shared libraries using
the distutils module.
The PyAPI_FUNC(), PyAPI_DATA() and
PyMODINIT_FUNC macros of Include/pyport.h are defined
differently depending if the Py_BUILD_CORE_MODULE macro is defined:
Usa
Py_EXPORTED_SYMBOLsePy_BUILD_CORE_MODULEestiver definidoDo contrário, usa
Py_IMPORTED_SYMBOL.
Se a macro Py_BUILD_CORE_BUILTIN for usada por engano em uma extensão C construída como uma biblioteca compartilhada, sua função PyInit_xxx() não será exportada, causando um ImportError na importação.
3.3. Sinalizadores do compilador e do vinculador¶
Opções definidas pelo script ./configure e variáveis de ambiente e usadas por Makefile.
3.3.1. Sinalizadores do pré-processador¶
- CONFIGURE_CPPFLAGS¶
Valor da variável
CPPFLAGSpassado para o script./configure.Novo na versão 3.6.
- CPPFLAGS¶
Sinalizadores de pré-processador C++ / (Objective) C, p.ex.
-Iinclude_dirse você tiver cabeçalhos em um diretório não padrão include_dir.Both
CPPFLAGSandLDFLAGSneed to contain the shell’s value for setup.py to be able to build extension modules using the directories specified in the environment variables.
- BASECPPFLAGS¶
Novo na versão 3.4.
- PY_CPPFLAGS¶
Sinalizadores extras de pré-processador adicionados para construir os arquivos de objeto do interpretador.
Padrão:
$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS).Novo na versão 3.2.
3.3.2. Sinalizadores do compilador¶
- CC¶
Comando do compilador C.
Exemplo:
gcc -pthread.
- MAINCC¶
C compiler command used to build the
main()function of programs likepython.Variable set by the
--with-cxx-mainoption of the configure script.Default:
$(CC).
- CXX¶
Comando do compilador C++.
Used if the
--with-cxx-mainoption is used.Exemplo:
g++ -pthread.
- CFLAGS¶
Sinalizadores do compilador C.
- CFLAGS_NODIST¶
CFLAGS_NODISTis used for building the interpreter and stdlib C extensions. Use it when a compiler flag should not be part of the distutilsCFLAGSonce Python is installed (bpo-21121).Em particular,
CFLAGSnão deve conter:o sinalizador do compilador
-I(para definir o caminho de pesquisa para arquivos incluídos). Os sinalizadores-Isão processadas da esquerda para a direita, e quaisquer sinalizadores emCFLAGSterão precedência sobre os sinalizadores-Ifornecidos pelo usuário e pelo pacote.sinalizadores de segurança como
-Werrorporque as distribuições não podem controlar se os pacotes instalados pelos usuários estão em conformidade com esses padrões elevados.
Novo na versão 3.5.
- EXTRA_CFLAGS¶
Sinalizadores extra do compilador C.
- CONFIGURE_CFLAGS_NODIST¶
Valor da variável
CFLAGS_NODISTpassado para o script./configure.Novo na versão 3.5.
- BASECFLAGS¶
Sinalizadores base do compilador.
- OPT¶
Sinalizadores de otimização.
- CFLAGS_ALIASING¶
Sinalizadores de alias estritos ou não estritos usados para compilar
Python/dtoa.c.Novo na versão 3.7.
- CCSHARED¶
Sinalizadores de compilador usados para construir uma biblioteca compartilhada.
Por exemplo,
-fPICé usado no Linux e no BSD.
- CFLAGSFORSHARED¶
Sinalizadores extras de C adicionados para construir os arquivos de objeto do interpretador.
Padrão:
$(CCSHARED)quando--enable-sharedé usado, ou uma string vazia caso contrário.
- PY_CFLAGS¶
Padrão:
$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS).
- PY_CFLAGS_NODIST¶
Padrão:
$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/internal.Novo na versão 3.5.
- PY_STDMODULE_CFLAGS¶
Sinalizadores do C usados para construir os arquivos de objeto do interpretador.
Padrão:
$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED).Novo na versão 3.7.
- PY_CORE_CFLAGS¶
Padrão:
$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE.Novo na versão 3.2.
- PY_BUILTIN_MODULE_CFLAGS¶
Sinalizadores do compilador para construir um módulo de extensão de biblioteca padrão como um módulo embutido, como o módulo
posix.Padrão:
$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN.Novo na versão 3.8.
- PURIFY¶
Comando de Purify. Purify é um programa depurador de memória.
Padrão: string vazia (não usada).
3.3.3. Sinalizadores do vinculador¶
- LINKCC¶
Comando do vinculador usado para construir programas como
pythone_testembed.Default:
$(PURIFY) $(MAINCC).
- CONFIGURE_LDFLAGS¶
Valor da variável
LDFLAGSpassado para o script./configure.Evite atribuir
CFLAGS,LDFLAGS, etc. para que os usuários possam usá-los na linha de comando para anexar a esses valores sem pisotear os valores predefinidos.Novo na versão 3.2.
- LDFLAGS_NODIST¶
LDFLAGS_NODISTis used in the same manner asCFLAGS_NODIST. Use it when a linker flag should not be part of the distutilsLDFLAGSonce Python is installed (bpo-35257).Em particular,
LDFLAGSnão deve conter:o sinalizador do compilador
-L(para definir o caminho de pesquisa para arquivos incluídos). Os sinalizadores-Lsão processadas da esquerda para a direita, e quaisquer sinalizadores emLDFLAGSterão precedência sobre os sinalizadores-Lfornecidos pelo usuário e pelo pacote.
- CONFIGURE_LDFLAGS_NODIST¶
Valor da variável
LDFLAGS_NODISTpassado para o script./configure.Novo na versão 3.8.
- LDFLAGS¶
Sinalizadores do vinculador, p.ex.
-Llib_dir, se você tiver bibliotecas em um diretório não padrão lib_dir.Both
CPPFLAGSandLDFLAGSneed to contain the shell’s value for setup.py to be able to build extension modules using the directories specified in the environment variables.
- LIBS¶
Sinalizadores do vinculador para passar bibliotecas para o vinculador ao vincular o executável Python.
Exemplo:
-lrt.
- LDSHARED¶
Comando para construir uma biblioteca compartilhada.
Padrão:
@LDSHARED@ $(PY_LDFLAGS).
- BLDSHARED¶
Comando para construir a biblioteca compartilhada
libpython.Padrão:
@BLDSHARED@ $(PY_CORE_LDFLAGS).
- PY_LDFLAGS¶
Padrão:
$(CONFIGURE_LDFLAGS) $(LDFLAGS).
- PY_LDFLAGS_NODIST¶
Padrão:
$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST).Novo na versão 3.8.
- PY_CORE_LDFLAGS¶
Sinalizadores de vinculador usados para construir os arquivos de objeto do interpretador.
Novo na versão 3.8.