|
|
- Building and installing SciPy
- +++++++++++++++++++++++++++++
-
- See https://www.scipy.org/Installing_SciPy/
-
- .. Contents::
-
-
- INTRODUCTION
- ============
-
- It is *strongly* recommended that you use either a complete scientific Python
- distribution or binary packages on your platform if they are available, in
- particular on Windows and Mac OS X. You should not attempt to build SciPy if
- you are not familiar with compiling software from sources.
-
- Recommended distributions are:
-
- - Enthought Canopy (https://www.enthought.com/products/canopy/)
- - Anaconda (https://www.anaconda.com)
- - Python(x,y) (http://python-xy.github.io/)
- - WinPython (https://winpython.github.io/)
-
- The rest of this install documentation summarizes how to build Scipy. Note
- that more extensive (and possibly more up-to-date) build instructions are
- maintained at http://scipy.org/scipylib/building/index.html
-
-
- PREREQUISITES
- =============
-
- SciPy requires the following software installed for your platform:
-
- 1) Python__ 2.7 or >= 3.4
-
- __ http://www.python.org
-
- 2) NumPy__ >= 1.8.2
-
- __ http://www.numpy.org/
-
- 3) For building from source: setuptools__
-
- __ https://github.com/pypa/setuptools
-
- 4) If you want to build the documentation: Sphinx__ >= 1.2.1
-
- __ http://sphinx-doc.org/
-
- 5) If you want to build SciPy master or other unreleased version from source
- (Cython-generated C sources are included in official releases):
- Cython__ >= 0.23.4
-
- __ http://cython.org/
-
- Windows
- -------
-
- Compilers
- ~~~~~~~~~
-
- There are two ways to build Scipy on Windows:
-
- 1. Use Intel MKL, and Intel compilers or ifort + MSVC. This is what Anaconda
- and Enthought Canopy use.
- 2. Use MSVC + gfortran with OpenBLAS. This is how the SciPy Windows wheels are
- built.
-
-
- Mac OS X
- --------
-
- Compilers
- ~~~~~~~~~
-
- It is recommended to use gcc or clang, both work fine. Gcc is available for
- free when installing Xcode, the developer toolsuite on Mac OS X. You also
- need a fortran compiler, which is not included with Xcode: you should use a
- recent gfortran from an OS X package manager (like Homebrew).
-
- Please do NOT use gfortran from `hpc.sourceforge.net <http://hpc.sourceforge.net>`_,
- it is known to generate buggy scipy binaries.
-
-
- Blas/Lapack
- ~~~~~~~~~~~
-
- Mac OS X includes the Accelerate framework: it should be detected without any
- intervention when building SciPy.
-
- Linux
- -----
-
- Most common distributions include all the dependencies. You will need to
- install a BLAS/LAPACK (all of ATLAS, OpenBLAS, MKL work fine) including
- development headers, as well as development headers for Python itself. Those
- are typically packaged as python-dev
-
-
- INSTALLING SCIPY
- ================
-
- For the latest information, see the web site:
-
- https://www.scipy.org
-
-
- Development version from Git
- ----------------------------
- Use the command::
-
- git clone https://github.com/scipy/scipy.git
-
- cd scipy
- git clean -xdf
- python setup.py install --user
-
- Documentation
- -------------
- Type::
-
- cd scipy/doc
- make html
-
- From tarballs
- -------------
- Unpack ``SciPy-<version>.tar.gz``, change to the ``SciPy-<version>/``
- directory, and run::
-
- pip install . -v --user
-
- This may take several minutes to half an hour depending on the speed of your
- computer.
-
-
- TESTING
- =======
-
- To test SciPy after installation (highly recommended), execute in Python
-
- >>> import scipy
- >>> scipy.test()
-
- To run the full test suite use
-
- >>> scipy.test('full')
-
- If you are upgrading from an older SciPy release, please test your code for any
- deprecation warnings before and after upgrading to avoid surprises:
-
- $ python -Wd -c my_code_that_shouldnt_break.py
-
- Please note that you must have version 1.0 or later of the Pytest test
- framework installed in order to run the tests. More information about Pytest is
- available on the website__.
-
- __ https://pytest.org/
-
- COMPILER NOTES
- ==============
-
- You can specify which Fortran compiler to use by using the following
- install command::
-
- python setup.py config_fc --fcompiler=<Vendor> install
-
- To see a valid list of <Vendor> names, run::
-
- python setup.py config_fc --help-fcompiler
-
- IMPORTANT: It is highly recommended that all libraries that scipy uses (e.g.
- BLAS and ATLAS libraries) are built with the same Fortran compiler. In most
- cases, if you mix compilers, you will not be able to import Scipy at best, have
- crashes and random results at worst.
-
- UNINSTALLING
- ============
-
- When installing with ``python setup.py install`` or a variation on that, you do
- not get proper uninstall behavior for an older already installed Scipy version.
- In many cases that's not a problem, but if it turns out to be an issue, you
- need to manually uninstall it first (remove from e.g. in
- ``/usr/lib/python3.4/site-packages/scipy`` or
- ``$HOME/lib/python3.4/site-packages/scipy``).
-
- Alternatively, you can use ``pip install . --user`` instead of ``python
- setup.py install --user`` in order to get reliable uninstall behavior.
- The downside is that ``pip`` doesn't show you a build log and doesn't support
- incremental rebuilds (it copies the whole source tree to a tempdir).
-
- TROUBLESHOOTING
- ===============
-
- If you experience problems when building/installing/testing SciPy, you
- can ask help from scipy-user@python.org or scipy-dev@python.org mailing
- lists. Please include the following information in your message:
-
- NOTE: You can generate some of the following information (items 1-5,7)
- in one command::
-
- python -c 'from numpy.f2py.diagnose import run; run()'
-
- 1) Platform information::
-
- python -c 'import os, sys; print(os.name, sys.platform)'
- uname -a
- OS, its distribution name and version information
- etc.
-
- 2) Information about C,C++,Fortran compilers/linkers as reported by
- the compilers when requesting their version information, e.g.,
- the output of
- ::
-
- gcc -v
- g77 --version
-
- 3) Python version::
-
- python -c 'import sys; print(sys.version)'
-
- 4) NumPy version::
-
- python -c 'import numpy; print(numpy.__version__)'
-
- 5) ATLAS version, the locations of atlas and lapack libraries, building
- information if any. If you have ATLAS version 3.3.6 or newer, then
- give the output of the last command in
- ::
-
- cd scipy/Lib/linalg
- python setup_atlas_version.py build_ext --inplace --force
- python -c 'import atlas_version'
-
- 7) The output of the following commands
- ::
-
- python INSTALLDIR/numpy/distutils/system_info.py
-
- where INSTALLDIR is, for example, /usr/lib/python3.4/site-packages/.
-
- 8) Feel free to add any other relevant information.
- For example, the full output (both stdout and stderr) of the SciPy
- installation command can be very helpful. Since this output can be
- rather large, ask before sending it into the mailing list (or
- better yet, to one of the developers, if asked).
-
- 9) In case of failing to import extension modules, the output of
- ::
-
- ldd /path/to/ext_module.so
-
- can be useful.
|