.. _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