.. _install:
Installation
************
Spring has been successfully run on Linux and MacOSX systems with the help of `Conda `_
that is a popular open source package management system for python packages. We base our most recent
distribution of Spring for standard Linux and Mac systems on EMAN2 version2.91.
.. _prerequisites:
Prerequisites
=============
Mac
---
* Requirements: Xcode including Python with X11
.. _prereq_table_mac:
+--------------------------------+
| MacOSX (10.8 - 10.15, 11) |
+--------------------------------+
| #. Xcode |
| #. +command line tools |
| #. X-Quartz |
| |
| |
+--------------------------------+
Launch the App Store and download Xcode. After it is installed, you need to install the Command Line Tools. \
This will install the default OS X Python binary.
1. MacOSX 10.8: in Xcode's preferences, go to the Downloads tab and install Command Line Tools.
2. MacOSX 10.9 - 10.15, 11 (Big Sur):
.. code-block:: console
% xcode-select --install
Wait until install completed. In order to activate Xcode developer tools, make sure to agree with the license:
.. code-block:: console
% sudo xcodebuild -license
Acknowledge reading by typing agree after scrolling down.
Install the X11 window manager `X-Qartz `_ on your system.
.. _compile_install:
Install by Conda
======================
Due to the many python dependencies, we extended an EMAN2's base conda environment (version 2.91) for SPRING.
Linux
-----
Launch the install script below.
.. code-block:: console
% wget https://spring.fz-juelich.de/_download/install_linux.sh
% sh install_linux.sh
.. literalinclude:: install_linux.sh
:language: sh
Mac
---
Launch the install script below.
.. code-block:: console
% curl --remote-name https://spring.fz-juelich.de/_download/install_mac.sh
% sh install_mac.sh
.. literalinclude:: install_mac.sh
:language: sh
Activation
==========
The conda environment base has been added to your startup shell script. After re-launch of your shell, you can now
execute any of the programs from the spring package by typing the program, e.g.:
.. parsed-literal::
% spring
Testing
=======
Check functionality of installed code by running some tests.
.. code-block:: python
from spring.tests.micprgs.test_micctfdetermine import TestMicCtfDetermineMpi
t = TestMicCtfDetermineMpi()
t.setup()
t.do_end_to_end_test_sa_inputfile_with_MPI()
t.do_end_to_end_test_sa_inputfile_no_CTFTILT_with_MPI()
t.teardown()
.. include:: CHANGES.rst