Sage é um software matemático de código aberto lançado sob a Licença Pública Geral GNU GPLv2+ e inclui pacotes que possuem licenças de software compatíveis. Pessoas de todo o mundo contribuíram para o desenvolvimento do Sage. A documentação completa está disponível online.
Aqueles que estão impacientes podem usar o Sage pré-construído, disponível on-line em qualquer um dos
sem instalação local. Caso contrário, continue lendo.
O Guia de Instalação do Sage fornece uma árvore de decisão que orienta você sobre o tipo de instalação que funcionará melhor para você. Isso inclui construir a partir do código-fonte, obter o Sage de um gerenciador de pacotes, usar uma imagem de contêiner ou usar o Sage na nuvem.
Este README contém instruções independentes para construir o Sage a partir do código-fonte. Isso requer que você clone o repositório git (conforme descrito neste README) ou baixe os fontes na forma de um tarball.
Se você tiver dúvidas ou encontrar problemas, não hesite em enviar um e-mail para a lista de discussão de suporte do sage ou perguntar no site de perguntas e respostas do Ask Sage.
Sage tenta oferecer suporte a todas as principais distribuições Linux, versões recentes do macOS e Windows (usando o subsistema Windows para Linux ou virtualização).
Informações detalhadas sobre plataformas suportadas para uma versão específica do Sage podem ser encontradas na seção Disponibilidade e ajuda de instalação do tour de lançamento desta versão.
Agradecemos muito as contribuições ao Sage que corrigem bugs de portabilidade e ajudam a portar o Sage para novas plataformas; informe-nos na lista de discussão sage-devel.
A maneira preferida de executar o Sage no Windows é usando o Windows Subsystem for Linux (WSL). Siga o guia oficial de configuração do WSL para instalar o Ubuntu (ou outra distribuição Linux). Certifique-se de alocar RAM suficiente para WSL; Sabe-se que 5 GB funcionam, enquanto 2 GB podem não ser suficientes para construir o Sage a partir do código-fonte. Então todas as instruções para instalação no Linux se aplicam.
Como alternativa, você também pode executar Linux no Windows usando Docker (veja abaixo) ou outras soluções de virtualização.
Se o seu Mac usa a arquitetura Apple Silicon (M1, M2, M3, M4; arm64) e você configurou o seu Mac transferindo arquivos de um Mac mais antigo, certifique-se de que o diretório /usr/local
não contém uma cópia antiga do Homebrew (ou outro software) para a arquitetura x86_64 que você pode ter copiado. Observe que o Homebrew para M1 está instalado em /opt/homebrew
, não em /usr/local
.
Se você deseja usar o conda, consulte a seção sobre conda no Manual de Instalação do Sage para orientação.
Caso contrário, recomendamos fortemente usar o Homebrew ("o gerenciador de pacotes ausente para macOS") de https://brew.sh/, que fornece o compilador gfortran
e muitas bibliotecas.
Caso contrário, se não desejar instalar o Homebrew, você precisará instalar a versão mais recente das ferramentas de linha de comando do Xcode. Abra uma janela de terminal e execute xcode-select --install
; em seguida, clique em "Instalar" na janela pop-up. Se as ferramentas de linha de comando do Xcode já estiverem instaladas, você pode verificar se elas precisam ser atualizadas digitando softwareupdate -l
.
Como muitos outros pacotes de software, o Sage é construído a partir do código-fonte usando ./configure
, seguido por make
. No entanto, recomendamos fortemente a leitura das seguintes instruções passo a passo para construir o Sage.
As instruções cobrem todo Linux, macOS e WSL.
Mais detalhes, fornecendo uma base para essas instruções, podem ser encontrados na seção Instalar a partir do código-fonte no Guia de instalação.
Decida o diretório de origem/construção ( SAGE_ROOT
):
Em computadores pessoais, qualquer subdiretório do seu diretório :envvar: HOME
deve servir.
Por exemplo, você pode usar SAGE_ROOT=~/sage/sage
, que usaremos como exemplo de execução abaixo.
Você precisa de pelo menos 10 GB de espaço livre em disco.
O caminho completo para o diretório de origem não deve conter espaços .
Depois de iniciar a compilação, você não pode mover o diretório source/build sem quebrar as coisas.
Você pode querer evitar sistemas de arquivos lentos, como sistemas de arquivos de rede (NFS) e similares.
[macOS] macOS permite alterar diretórios sem usar letras maiúsculas exatas. Cuidado com essa conveniência ao compilar para macOS. Ignorar a capitalização exata ao mudar para :envvar: SAGE_ROOT
pode levar a erros de construção para dependências que exigem capitalização exata em nomes de caminho.
Clone as fontes com git
:
Para verificar se o git
está disponível, abra um terminal e digite o seguinte comando no prompt do shell ( $
):
$ git --version
git version 2.42.0
A versão exata não importa, mas se este comando apresentar um erro, instale git
usando seu gerenciador de pacotes, usando um destes comandos:
$ sudo pacman -S git # on Arch Linux
$ sudo apt-get update && apt-get install git # on Debian/Ubuntu
$ sudo yum install git # on Fedora/Redhat/CentOS
$ sudo zypper install git # on openSUSE
$ sudo xbps-install git # on Void Linux
Crie o diretório onde SAGE_ROOT
deve ser estabelecido:
$ mkdir -p ~/sage
$ cd ~/sage
Clone o repositório git do Sage:
$ git clone -c core.symlinks=true --filter blob:none
--origin upstream --branch develop --tags
https://github.com/sagemath/sage.git
Este comando obtém a versão de desenvolvimento mais recente. Substitua --branch develop
por --branch master
para selecionar a versão estável mais recente.
Isso criará o subdiretório ~/sage/sage
. (Veja a seção Configurando o git e as seções seguintes no Guia do Desenvolvedor Sage para mais informações.)
Mude para o subdiretório criado:
$ cd sage
[Windows] A árvore fonte do Sage contém links simbólicos e a compilação não funcionará se forem usados finais de linha do Windows em vez de finais de linha do UNIX.
Portanto é recomendado (mas não necessário) usar a versão WSL do git
.
Instale pacotes do sistema.
Consulte a seção sobre instalação a partir do código-fonte no Manual de Instalação do Sage para compilações de pacotes de sistema que você pode instalar. Quando terminar, pule para a etapa 7 (inicialização).
Como alternativa, siga a abordagem mais detalhada abaixo.
[Linux, WSL] Instale os pré-requisitos mínimos de compilação necessários:
Compiladores: gcc
, gfortran
, g++
(são suportadas versões do GCC de 8.4.0 a 13.xe versões recentes do Clang (LLVM)). Consulte build/pkgs/gcc/SPKG.rst e build/pkgs/gfortran/SPKG.rst para uma discussão sobre compiladores adequados.
Ferramentas de construção: GNU make
, GNU m4
, perl
(incluindo ExtUtils::MakeMaker
), ranlib
, git
, tar
, bc
. Consulte build/pkgs/_prereq/SPKG.rst para obter mais detalhes.
Python 3.4 ou posterior, ou Python 2.7, uma instalação completa incluindo urllib
; mas idealmente a versão 3.9.x, 3.10.x, 3.11.x, 3.12.x, o que evitará a necessidade de construir a própria cópia do Python 3 do Sage. Consulte build/pkgs/python3/SPKG.rst para mais detalhes.
Coletamos listas de pacotes de sistema que fornecem esses pré-requisitos de construção. Veja, na pasta build/pkgs/_prereq/distros, os arquivos arch.txt, debian.txt (também para Ubuntu, Linux Mint, etc.), fedora.txt (também para Red Hat, CentOS), opensuse.txt, slackware.txt e void.txt ou visite https://doc.sagemath.org/html/en/reference/spkg/_prereq.html#spkg-prereq
Opcional: É recomendado que você tenha as ferramentas LaTeX e ImageMagick (por exemplo, o comando "convert") instaladas, pois algumas funcionalidades de plotagem se beneficiam delas.
[Desenvolvimento] Se você planeja desenvolver o Sage ou trabalhar com ramificações de tickets e não apenas com versões, instale os pré-requisitos de inicialização. Veja os arquivos na pasta build/pkgs/_bootstrap/distros, ou visite https://doc.sagemath.org/html/en/reference/spkg/_bootstrap.html#spkg-bootstrap
Inicialize a árvore de origem usando o seguinte comando:
$ make configure
(Se os pré-requisitos de inicialização não estiverem instalados, este comando fará download de um pacote que fornece saída de inicialização pré-construída.)
Sanitize o ambiente de construção. Use o comando
$ env
para inspecionar as variáveis de ambiente atuais, em particular PATH
, PKG_CONFIG_PATH
, LD_LIBRARY_PATH
, CFLAGS
, CPPFLAGS
, CXXFLAGS
e LDFLAGS
(se definido).
Remova itens dessas variáveis de ambiente (separadas por dois pontos) que o Sage não deve usar em sua própria construção. Em particular, remova itens se eles se referirem a uma instalação anterior do Sage.
[WSL] Em particular, o WSL importa muitos itens da variável PATH
do Windows para o ambiente Linux, o que pode levar a erros de construção confusos. Esses itens normalmente começam com /mnt/c
. É melhor remover todos eles das variáveis de ambiente. Por exemplo, você pode definir PATH
usando o comando:
$ export PATH=/usr/sbin/:/sbin/:/bin/:/usr/lib/wsl/lib/
[macOS com homebrew] Defina as variáveis de ambiente necessárias para a compilação:
$ source ./.homebrew-build-env
Isso é para disponibilizar alguns dos pacotes do Homebrew (os chamados pacotes somente barril) para a construção. Execute-o uma vez para aplicar as sugestões à sessão de terminal atual. Pode ser necessário repetir este comando antes de reconstruir o Sage a partir de uma nova sessão de terminal ou após instalar pacotes homebrew adicionais. (Você também pode adicioná-lo ao seu perfil de shell para que seja executado automaticamente em todas as sessões futuras.)
Opcionalmente, decida o prefixo de instalação ( SAGE_LOCAL
):
Tradicionalmente, e por padrão, o Sage é instalado na hierarquia de subdiretórios com raiz em SAGE_ROOT/local/
.
Isso pode ser alterado usando ./configure --prefix=SAGE_LOCAL
, onde SAGE_LOCAL
é o prefixo de instalação desejado, que deve ser gravável pelo usuário.
Se você usar esta opção em combinação com --disable-editable
, poderá excluir toda a árvore de origem do Sage após concluir o processo de construção. O que está instalado no SAGE_LOCAL
será uma instalação independente do Sage.
Observe que no processo de construção do Sage, make
compilações e instalações ( make install
é autônomo). Portanto, a hierarquia de instalação deve ser gravável pelo usuário.
Consulte o Manual de Instalação do Sage para opções se desejar instalar em locais compartilhados como /usr/local/
. Não tente construir o Sage como root
.
Opcionalmente, revise as opções de configuração, que incluem muitos pacotes opcionais:
$ ./configure --help
Opções notáveis para desenvolvedores Sage são as seguintes:
Use a opção --config-cache
para que configure
mantenha um cache de disco com os valores de configuração. Isso proporciona uma boa aceleração ao testar ramificações de tickets que fazem atualizações de pacotes, o que envolve reexecuções automáticas da etapa de configuração.
Use a opção --enable-ccache
para instalar o Sage e use o pacote opcional ccache
, que é pré-configurado para manter um cache de disco de arquivos de objeto criados a partir de arquivos de origem. Isso pode proporcionar uma grande aceleração ao alternar entre diferentes ramificações, em detrimento do uso do espaço em disco.
Opcional, mas altamente recomendado: Defina algumas variáveis de ambiente para personalizar a compilação.
Por exemplo, a variável de ambiente MAKE
controla se vários trabalhos devem ser executados em paralelo. Em uma máquina com 4 processadores, digamos, digitar export MAKE="make -j4"
irá configurar o script de construção para realizar uma compilação paralela do Sage usando 4 jobs. Em algumas máquinas poderosas, você pode até considerar -j16
, pois construir com mais tarefas do que núcleos de CPU pode acelerar ainda mais as coisas.
Para reduzir a saída do terminal durante a construção, digite export V=0
. ( V
significa "verbosidade".)
Algumas variáveis de ambiente merecem destaque especial: CC
, CXX
e FC
. Essas variáveis que definem seus compiladores podem ser definidas no momento da configuração e seus valores serão registrados para uso posterior em tempo de construção e tempo de execução.
Para uma discussão aprofundada sobre mais variáveis de ambiente para a construção do Sage, consulte o guia de instalação.
Digite ./configure
, seguido por quaisquer opções que você deseja usar. Por exemplo, para construir o Sage com o pacote gf2x
fornecido pelo Sage, use ./configure --with-system-gf2x=no
.
No final de uma execução bem-sucedida ./configure
, você poderá ver mensagens recomendando a instalação de pacotes extras do sistema usando seu gerenciador de pacotes.
Para uma grande lista de pacotes Sage, o Sage é capaz de detectar se um pacote de sistema instalado é adequado para uso com o Sage; nesse caso, o Sage não criará outra cópia do código-fonte.
Às vezes, as mensagens recomendam a instalação de pacotes que já estão instalados em seu sistema. Consulte as mensagens de configuração anteriores ou o arquivo config.log
para explicação. Além disso, as mensagens podem recomendar a instalação de pacotes que na verdade não estão disponíveis; apenas as versões mais recentes da sua distribuição terão todos esses pacotes recomendados.
Opcional: Se você optar por instalar os pacotes de sistema adicionais, uma nova execução de ./configure
testará se as versões instaladas são utilizáveis pelo Sage; se forem, isso reduzirá o tempo de compilação e o espaço em disco necessários ao Sage. O uso de pacotes pode ser ajustado pelos parâmetros ./configure
(verifique novamente a saída de ./configure --help
).
Digite make
. É isso! Tudo é automático e não interativo.
Se você seguiu as instruções acima, em particular em relação à instalação dos pacotes de sistema recomendados pela saída de ./configure
(etapa 11), e em relação à construção paralela (etapa 10), construir o Sage leva menos de uma hora em um computador moderno. (Caso contrário, pode demorar muito mais tempo.)
A compilação deve funcionar bem em todas as plataformas totalmente suportadas. Se não, queremos saber!
Digite ./sage
para experimentar. No Sage, tente, por exemplo, 2 + 2
, plot(x^2)
, plot3d(lambda x, y: x*y, (-1, 1), (-1, 1))
para testar um cálculo simples e plotar em 2D e 3D. Digite Ctrl + D ou quit
para sair do Sage.
Opcional: digite make ptestlong
para testar todos os exemplos na documentação (mais de 200.000 linhas de entrada!) -- isso leva de 10 minutos a várias horas. Não fique muito perturbado se houver 2 a 3 falhas, mas sinta-se sempre à vontade para enviar por e-mail a seção logs/ptestlong.log
que contém erros para a lista de discussão sage-support. Se houver inúmeras falhas, houve um problema sério com sua construção.
A versão HTML da documentação é construída durante o processo de compilação do Sage e reside no diretório local/share/doc/sage/html/
. Você pode querer marcá-lo em seu navegador.
Opcional: Se você deseja construir a versão PDF da documentação, execute make doc-pdf
(isso requer a instalação do LaTeX).
Opcional: Instale pacotes opcionais de seu interesse: obtenha uma lista digitando ./sage --optional
ou visitando a página de documentação dos pacotes.
Opcional: Crie um link simbólico para o script sage
instalado em um diretório em seu PATH
, por exemplo /usr/local
. Isso permitirá que você inicie o Sage digitando sage
de qualquer lugar, em vez de digitar o caminho completo ou navegar até o diretório do Sage e digitar ./sage
. Isso pode ser feito executando:
$ sudo ln -s $(./sage -sh -c 'ls $SAGE_ROOT/venv/bin/sage') /usr/local/bin
Opcional: Configure o SageMath como um kernel Jupyter em um notebook Jupyter existente ou instalação do JupyterLab, conforme descrito na seção Iniciando o SageMath no Guia de Instalação do Sage.
Para instalar o Sage em um ambiente Python a partir do PyPI, o Sage fornece o pacote pip
-installable sagemath-standard.
A menos que você precise instalar o Sage em um ambiente específico existente, recomendamos criar e ativar um novo ambiente virtual, por exemplo ~/sage-venv/
:
$ python3 -m venv ~/sage-venv
$ source ~/sage-venv/bin/activate
Como primeira etapa de instalação, instale o sage_conf, que cria vários pacotes de pré-requisitos em um subdiretório de ~/.sage/
:
(sage-venv) $ python3 -m pip install -v sage_conf
Após uma instalação bem-sucedida, uma casa do leme fornece vários pacotes Python. Você pode listar as rodas usando o comando:
(sage-venv) $ ls $(sage-config SAGE_SPKG_WHEELS)
Se ocorrer um erro informando que sage-config
não foi encontrado, verifique quaisquer mensagens que o comando pip install
possa ter impresso. Pode ser necessário ajustar seu PATH
, por exemplo:
$ export PATH="$(python3 -c 'import sysconfig; print(sysconfig.get_path("scripts", "posix_user"))'):$PATH"
Agora instale os pacotes da casa do leme e do pacote sage_setup e, finalmente, instale a biblioteca Sage:
(sage-venv) $ python3 -m pip install $(sage-config SAGE_SPKG_WHEELS)/*.whl sage_setup
(sage-venv) $ python3 -m pip install --no-build-isolation -v sagemath-standard
As instruções acima instalam a versão estável mais recente do Sage. Para instalar a versão de desenvolvimento mais recente, adicione a opção --pre
a todas as invocações de python3 -m pip install
.
NOTA: PyPI tem vários outros pacotes instaláveis pip
com a palavra "sage" em seus nomes. Alguns deles são mantidos pelo projeto SageMath, alguns são fornecidos por usuários do SageMath para diversos fins e outros não têm nenhuma relação com o SageMath. Não use os pacotes sage
e sagemath
. Para obter uma lista selecionada de pacotes, consulte o capítulo Pacotes e Recursos do Manual de Referência do Sage.
O SageMath está disponível no Docker Hub e pode ser baixado em:
docker pull sagemath/sagemath
Atualmente, apenas versões estáveis são mantidas atualizadas.
Se você tiver problemas com a construção do Sage, verifique o Guia de Instalação do Sage, bem como a ajuda de instalação específica da versão no tour de lançamento correspondente à versão que você está instalando.
Por favor, não hesite em pedir ajuda no fórum SageMath ou na lista de discussão sage-support. A seção Solução de problemas no Guia de instalação do Sage fornece instruções sobre quais informações fornecer para que possamos fornecer ajuda de forma mais eficaz.
Se quiser contribuir com o Sage, recomendamos fortemente que você leia o Guia do Desenvolvedor.
O Sage possui componentes significativos escritos nas seguintes linguagens: C/C++, Python, Cython, Common Lisp, Fortran e um pouco de Perl.
Layout de diretório simplificado (apenas arquivos/diretórios essenciais):
SAGE_ROOT Root directory (create by git clone)
├── build
│ └── pkgs Every package is a subdirectory here
│ ├── 4ti2/
│ …
│ └── zlib/
├── configure Top-level configure script
├── COPYING.txt Copyright information
├── pkgs Source trees of Python distribution packages
│ ├── sage-conf
│ │ ├── sage_conf.py
│ │ └── setup.py
│ ├── sage-docbuild
│ │ ├── sage_docbuild/
│ │ └── setup.py
│ ├── sage-setup
│ │ ├── sage_setup/
│ │ └── setup.py
│ ├── sage-sws2rst
│ │ ├── sage_sws2rst/
│ │ └── setup.py
│ └── sagemath-standard
│ ├── bin/
│ ├── sage -> ../../src/sage
│ └── setup.py
├── local (SAGE_LOCAL) Installation hierarchy for non-Python packages
│ ├── bin Executables
│ ├── include C/C++ headers
│ ├── lib Shared libraries, architecture-dependent data
│ ├── share Databases, architecture-independent data, docs
│ │ └── doc Viewable docs of Sage and of some components
│ └── var
│ ├── lib/sage
│ │ ├── installed/
│ │ │ Records of installed non-Python packages
│ │ ├── scripts/ Scripts for uninstalling installed packages
│ │ └── venv-python3.9 (SAGE_VENV)
│ │ │ Installation hierarchy (virtual environment)
│ │ │ for Python packages
│ │ ├── bin/ Executables and installed scripts
│ │ ├── lib/python3.9/site-packages/
│ │ │ Python modules/packages are installed here
│ │ └── var/lib/sage/
│ │ └── wheels/
│ │ Python wheels for all installed Python packages
│ │
│ └── tmp/sage/ Temporary files when building Sage
├── logs
│ ├── install.log Full install log
│ └── pkgs Build logs of individual packages
│ ├── alabaster-0.7.12.log
│ …
│ └── zlib-1.2.11.log
├── m4 M4 macros for generating the configure script
│ └── *.m4
├── Makefile Running "make" uses this file
├── prefix -> SAGE_LOCAL Convenience symlink to the installation tree
├── README.md This file
├── sage Script to start Sage
├── src Monolithic Sage library source tree
│ ├── bin/ Scripts that Sage uses internally
│ ├── doc/ Sage documentation sources
│ └── sage/ The Sage library source code
├── upstream Source tarballs of packages
│ ├── Babel-2.9.1.tar.gz
│ …
│ └── zlib-1.2.11.tar.gz
├── venv -> SAGE_VENV Convenience symlink to the virtual environment
└── VERSION.txt
Para obter mais detalhes, consulte nosso Guia do desenvolvedor.
Este é um breve resumo do sistema de compilação da distribuição de software Sage. Existem dois componentes no sistema Sage completo - a biblioteca Sage Python e suas interfaces de usuário associadas, e a maior distribuição de software das principais dependências do Sage (para aquelas dependências não fornecidas pelo sistema do usuário).
A biblioteca Python do Sage é construída e instalada usando um script setup.py
como é padrão para pacotes Python ( setup.py
do Sage não é trivial, mas não é incomum).
A maior parte do restante do sistema de compilação se preocupa em construir todas as dependências do Sage na ordem correta em relação umas às outras. As dependências incluídas pelo Sage são chamadas de SPKGs (ou seja, "Pacotes Sage") e estão listadas em build/pkgs
.
O principal ponto de entrada para o sistema de compilação do Sage é o Makefile
de nível superior na raiz da árvore de origem. Ao contrário da maioria dos projetos normais que usam o autoconf (o Sage também usa, conforme descrito abaixo), este Makefile
não é gerado. Em vez disso, contém alguns alvos de alto nível e alvos relacionados à inicialização do sistema. No entanto, ainda executamos make
a partir da raiz da árvore de origem - os destinos não definidos explicitamente no Makefile
de nível superior são passados para outro Makefile em build/make/Makefile
.
O último build/make/Makefile
é gerado por um script configure
gerado pelo autoconf, usando o modelo em build/make/Makefile.in
. Isto inclui regras para construir a própria biblioteca do Sage ( make sagelib
) e para construir e instalar cada uma das dependências do Sage (por exemplo, make gf2x
).
O próprio script configure
, se ainda não estiver compilado, pode ser gerado executando o script bootstrap
(este último requer a instalação de autotools GNU ). O Makefile
de nível superior também cuida disso automaticamente.
Para resumir, executar um comando como make python3
no nível superior da árvore de origem é mais ou menos assim:
make python3
./bootstrap
se configure
precisar ser atualizado./configure
com quaisquer opções configuradas anteriormente se build/make/Makefile
precisar ser atualizadobuild/make
e execute o script install
- isso é pouco mais que um front-end para executar make -f build/make/Makefile python3
, que define algumas variáveis de ambiente necessárias e registra algumas informaçõesbuild/make/Makefile
contém a regra real para construir python3
; isso inclui construir primeiro todas as dependências do python3
(e suas dependências, recursivamente); a instalação real do pacote é realizada com o programa sage-spkg
Não há suporte para mover o diretório SAGE_ROOT
ou SAGE_LOCAL
após construir o Sage. Se você mover os diretórios, terá que executar make distclean
e compilar o Sage novamente do zero.
Para uma instalação em todo o sistema, você deve construir o Sage como um usuário "normal" e então como root você pode alterar as permissões. Consulte o Guia de Instalação para obter mais informações.
Sua instalação local do Sage é quase exatamente igual a qualquer instalação de "desenvolvedor". Você pode fazer alterações na documentação, fonte, etc., e empacotar facilmente os resultados completos para redistribuição, assim como nós.
Para fazer uma distribuição binária com seus pacotes atualmente instalados, visite sagemath/binary-pkg.
Para fazer seu próprio tarball fonte do Sage, digite:
$ make dist
O resultado é colocado no diretório dist/
.
Todo o software incluído no Sage é protegido por direitos autorais dos respectivos autores e lançado sob uma licença de código aberto compatível com GPL versão 3 ou posterior . Consulte COPYING.txt para obter mais detalhes.
As fontes estão em tarballs não modificados (na medida do possível) no diretório upstream/
. A descrição restante, informações de versão, patches e scripts de construção estão no diretório build/pkgs/
que o acompanha. Este diretório faz parte do repositório git do Sage.
Copyright (C) 2005-2024 A Equipe de Desenvolvimento Sage
https://www.sagemath.org