Processing Math: Done
No jsMath TeX fonts found -- using unicode fonts instead.
This may be slow and might not print well.
Use the jsMath control panel to get additional information.
jsMath Control PanelHide this Message


jsMath
Differences between revisions 16 and 33 (spanning 17 versions)
Revision 16 as of 2021-06-27 17:16:11
Size: 1935
Editor: isuruf
Comment:
Revision 33 as of 2022-04-25 21:52:34
Size: 3673
Editor: mkoeppe
Comment: replace some info with a link to https://trac.sagemath.org/wiki/Distribution
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:
= Maintenance =

The packages necessary to run sage are developed on the github pages of conda-forge. The actual [[https://github.com/conda-forge/sage-feedstock/tree/master/recipe|sage package]] and many of its dependencies are maintained by Isuru Fernando (and a few volunteers).
The above instructions are being added to the Sage documentation in https://trac.sagemath.org/ticket/33655
Line 23: Line 21:
You can develop Sage without building any of its dependencies (experimental). On my machine this takes 5 minutes: You can develop Sage without building any of its dependencies (experimental) --- on my machine this takes 5 minutes. Assume you obtained Sage source tree and changed to its root. These instructions have been updated for [[https://trac.sagemath.org/ticket/30845|#30845]] and are being added to the Sage installation guide in [[https://trac.sagemath.org/ticket/33426|#33426]]
Line 26: Line 24:
exportSAGENUMTHREADS=24 conda install mamba
$ mamba create -n sage-build sage boost-cpp openblas compilers
export SAGE_NUM_THREADS=24 # or whatever the meaningful value                                                          # for your machine is - no more than                                                          # the number of cores. conda install mamba # This is a recommended optional step.
                                                         # If you skip it, replace "mamba" by
                                                         # "conda" in the following steps.

$ mamba create -n sage-build python=3.9 \
      gettext autoconf automake libtool pkg-config # or replace 3.9 by another version
Line 30: Line 36:
mambauninstallforcesagelib ./configure --prefix=CONDAPREFIX cd src
$ python setup.py install

./bootstrap # this generates src/environment.yml                                                          # used in the next step mamba env update -n sage-build -f src/environment.yml # alternatively, use
                                                         # src/environment-optional.yml
                                                         # for some additional packages
condaactivatesagebuild ./configure --with-python=CONDAPREFIX/bin/python prefix=CONDA_PREFIX \
              (forpkgin(./sage -package list :standard: \
                               --has-file spkg-configure.m4 \
                               --has-file distros/conda.txt); do \
                    echo --with-system-pkg=force; done) pip install --no-build-isolation -v -v --editable pkgs/sage-conf pkgs/sage-setup

$ pip install --no-build-isolation -v -v --editable src
Line 35: Line 58:
SageMath version 9.2, Release Date: 2020-10-24 SageMath version 9.6.beta5, Release Date: 2022-03-12
Line 38: Line 61:
= Open Issues = By using `pip install --editable`, the Sage library is installed in editable mode.
This means that when you only edit Python files, there is no need to rebuild the library;
it suffices to restart Sage.
Line 40: Line 65:
== General == After editing any Cython files, rebuild by repeating the command
{{{
$ pip install --no-build-isolation -v -v --editable src
}}}
Line 42: Line 70:
To check whether there are known issues with Conda: = More information =
Line 44: Line 72:
 * https://trac.sagemath.org/query?order=id&desc=1&summary=~conda

== Windows ==

There is likely not going to be a working package in the near future, see https://groups.google.com/d/msg/sage-devel/wyaV8x5qolI/jVS4DKBvCAAJ.
see https://trac.sagemath.org/wiki/Distribution#CondaAnacondaMinicondaCondaForge

https://conda.io/docs/_images/conda_logo.svg

Conda packages for Linux & macOS are available through conda-forge.

Setting Up

In short: Install sage from conda-forge.

  • Download and install Mambaforge.

    • i.e., open a Terminal,
      • curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh

        sh Mambaforge-$(uname)-$(uname -m).sh

  • Create a "sage" environment and pick a version of SageMath, i.e., open a new terminal and mamba create -n sage sage=9.3

  • To run SageMath, activate the environment you just created and run SageMath, i.e., source activate sage and sage

The above instructions are being added to the Sage documentation in https://trac.sagemath.org/ticket/33655

Conda for Sage Developers

You can develop Sage without building any of its dependencies (experimental) --- on my machine this takes 5 minutes. Assume you obtained Sage source tree and changed to its root. These instructions have been updated for #30845 and are being added to the Sage installation guide in #33426

$ export SAGE_NUM_THREADS=24                             # or whatever the meaningful value
                                                         # for your machine is - no more than 
                                                         # the number of cores.

$ conda install mamba                                    # This is a recommended optional step.
                                                         # If you skip it, replace "mamba" by
                                                         # "conda" in the following steps.

$ mamba create -n sage-build python=3.9 \
      gettext autoconf automake libtool pkg-config       # or replace 3.9 by another version

$ conda activate sage-build

$ ./bootstrap                                            # this generates src/environment.yml
                                                         # used in the next step

$ mamba env update -n sage-build -f src/environment.yml  # alternatively, use 
                                                         # src/environment-optional.yml 
                                                         # for some additional packages
$ conda activate sage-build

$ ./configure --with-python=$CONDA_PREFIX/bin/python             \
              --prefix=$CONDA_PREFIX                             \
              $(for pkg in $(./sage -package list :standard:     \
                               --has-file spkg-configure.m4      \
                               --has-file distros/conda.txt); do \
                    echo --with-system-$pkg=force;               \
                done)

$ pip install --no-build-isolation -v -v --editable pkgs/sage-conf pkgs/sage-setup 

$ pip install --no-build-isolation -v -v --editable src

$ sage -c 'print(version())'
SageMath version 9.6.beta5, Release Date: 2022-03-12

By using pip install --editable, the Sage library is installed in editable mode. This means that when you only edit Python files, there is no need to rebuild the library; it suffices to restart Sage.

After editing any Cython files, rebuild by repeating the command

$ pip install --no-build-isolation -v -v --editable src

More information

see https://trac.sagemath.org/wiki/Distribution#CondaAnacondaMinicondaCondaForge

Conda (last edited 2024-08-28 05:30:57 by mkoeppe)