[SciPy-dev] Building/distributing SciPy

Pearu Peterson pearu at cens.ioc.ee
Mon Nov 18 20:03:09 EST 2002


Hi!

Recently we discussed about SciPy packaging issues and reached to some
consensus how to resolve them so that SciPy and its friends could be
packaged without dependency conflicts. See recent "Debian
package(s)?" thread in scipy-user mailing list.

Now I have made few steps towards implementing the required hooks and
before finishing implementation, I'd like to sketch the new way of
building, installing, and distributing SciPy and its friends in order to
get some feedback as there are still some open questions/choices that
may need to be discussed.

Distributing
============

Creating tarballs from CVS Repositories
---------------------------------------
scipy_core:
  cd cvs/scipy
  python setup_scipy_core.py -f -t MANIFEST_scipy_core.in
  # -> SciPy_core-0.2.0_alpha_4.258.tar.gz
  # .. contains scipy_test and scipy_distutils Python packages
  # FINISHED

f2py:
  cd cvs/f2py2e
  python setup.py sdist -f
  # -> F2PY-2.23.190-1372.tar.gz
  # .. contains f2py2e Python package (without scipy_distutils)
  # TODO: disable scipy_distutils in setup.py

scipy:
  cd cvs/scipy
  python setup_scipy.py sdist -f
  # -> SciPy-0.2.0_alpha_150.4447.tar.gz
  # .. contains scipy Python package (without scipy_test, scipy_distutils,
       weave)
  # TODO: depreciate using setup.py

weave:
  cd cvs/scipy/weave
  python setup_weave.py sdist -f
  # -> weave-0.0.0.tar.gz
  # .. contains weave (without scipy_distutils, scipy_test, scipy_base)
  # TODO: ?? depreciate using setup.py
          ?? start using __cvs_version__.py as other packages do to
             fix version numbering.
          Eric, what do you think?

All these tarballs are downloadable from scipy.org.

Questions: Do we need a tarball, say
   SciPy_all-0.2.0_alpha_150.4447.tar.gz,
that contains all modules including scipy_core, f2py2e, scipy, weave,
chaco, etc.? Will that simplify building SciPy for Windows platforms?


Recommendations for deb/rpm packagers. Tree of dependencies
------------------------------------------------------------------
python-scipy_core: python-dev
                   python-NumPy

python-f2py: python-scipy_core
             C and F77 compilers

python-weave: python-scipy_core
              C and C++ compilers  
              (is scipy_base actually required???)

python-scipy: python-f2py (required for building) 
              atlas or lapack/blas
              fftw (optional)
              python-weave (optional or require???)
              gnuplot,wxPython (optional or require???,
                                will chaco replace gplt,xplt,plt???)

Binaries
========
??? 
Build using SciPy_all-???.tar.gz? Note that python-scipy is the only
package that contains extension modules, other packages are pure
Python and are actually not required for python-scipy binary (except may 
be scipy_test).

Installing
==========

Make sure that all SciPy prerequisites are installed and working properly.

>From CVS repository
-------------------
f2py:
  cd cvs/f2py2e
  python setup.py install
  # TODO: remove scipy_distutils dependence from setup.py
  # Note that f2py2e can be installed before scipy_core, but not used
  # until scipy_core is installed.

scipy_core and scipy:
  cd cvs/scipy
  python setup_scipy_core.py install
  python setup_scipy.py install
  # TODO: depreciate using setup.py

weave:
  cd cvs/scipy/weave
  python setup_weave.py install
  # TODO: ?? depreciate using setup.py

>From tarballs
-------------
Unpack tarballs and execute the same commands as in "From CVS
repository" in the corresponding directories.

>From deb files
--------------
???

>From rpm files
--------------
???

Windows installation
--------------------
???

Mac OS X installation
---------------------
???


Feel free to fill in or make suggestions for ??? parts.

Regards,
	Pearu




More information about the SciPy-Dev mailing list