Differences between revisions 5 and 36 (spanning 31 versions)
Revision 5 as of 2019-07-11 05:14:58
Size: 6591
Editor: TunayDurmaz
Comment: general environment setup
Revision 36 as of 2020-12-03 07:13:54
Size: 0
Editor: TunayDurmaz
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Under Construction =

== Setup Development Environment with Conda ==
 1. If you have an existing '''Miniconda2''' installation and want to make use of your cached packages, move your pkgs/ and envs/ folders out of your current installation to another location.{{{
mkdir -p <path-to-conda-cahe-directory>
# mkdir -p ~/conda-global-cache
mv <path-to-current-miniconda2-installation>/pkgs <path-to-conda-cahe-directory>
mv <path-to-current-miniconda2-installation>/envs <path-to-conda-cahe-directory>
}}}
 1. Download Miniconda3 for [[https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh|Linux]] or [[https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh|MacOSX]].
 1. Install '''Miniconda3'''.{{{
bash <Miniconda3-installer>
}}} and follow the prompts.
 1. Specify package and environment directories.{{{
conda config --set pkgs_dirs <path-to-conda-cahe-directory>/pkgs
# conda config --set pkgs_dirs ~/conda-global-cache/pkgs
conda config --set envs_dirs <path-to-conda-cahe-directory>/envs
# conda config --set pkgs_dirs ~/conda-global-cache/envs
}}}
 1. Configure conda.
   a. Do not update conda automatically.{{{
conda config --set auto_update_conda False
}}}
   a. If you don't want conda's base environment to be activated automatically.{{{
conda config --set auto_activate_base False
}}}
 1. Install '''conda 4.6.14'''.{{{
conda install conda=4.6.14 -c defaults
}}}
 1. Initialize conda for shell interaction.{{{
conda init bash
# See command help for supported shells
conda init --help
}}}

== Use Conda Environments for Development ==

Do not install anything into the base environment, do not use the base environment for development, use non-base environments.
 1. Create a new environment.{{{
conda create -n eman-deps-14.1 eman-deps=14.1 -c cryoem -c defaults -c conda-forge
}}}
 OR choose a simpler name for the environment, '''eman-env''' or '''eman'''.{{{
conda create -n eman-env eman-deps=14.1 -c cryoem -c defaults -c conda-forge
}}}
 1. Activate the environment.{{{
conda activate eman-deps-14.1
}}}
 OR{{{
conda activate eman-env
}}}


== Setup Python 2 Environment With CMake 3.14 ==

[[https://github.com/cryoem/eman2/pull/407|PR: Upgrade CMake to 3.14]]

=== New Miniconda Installations ===

 1. Download and install [[https://repo.continuum.io/miniconda/|Miniconda]].
 1. Add the new installation to PATH.{{{
export PATH=<new miniconda path>/bin:$PATH
}}}
 1. Install eman-deps with cmake 3.14.{{{
conda config --set auto_update_conda False
conda install conda=4.6.14
conda install eman-deps=14.2 cmake=3.14 conda=4.6.14 -c cryoem/label/dev -c cryoem -c defaults -c conda-forge
}}}



=== Existing Miniconda/Anaconda Installations ===

 1. Pin your conda, you need to do this only once. Skip this step, if you have already done it.{{{
conda config --set auto_update_conda False
conda install conda=4.6.14
}}}
 1. Create a new environment.{{{
conda create -n eman-deps-14.2 eman-deps=14.2 cmake=3.14 -c cryoem/label/dev -c cryoem -c defaults -c conda-forge
}}}
 1. Use the activation command printed at the end of the previous command's run to activate the new conda environment.{{{
conda activate eman-deps-14.2
or
source activate eman-deps-14.2
}}}
 1. To switch to another conda environment, first deactivate your current environment.{{{
conda deactivate
or
source deactivate
}}}



== Setup Python 2 Environment with Boost 1.64 ==

[[https://github.com/cryoem/eman2/pull/408|PR: Upgrade Boost to 1.64]]

=== New Miniconda Installations ===

 1. Download and install [[https://repo.continuum.io/miniconda/|Miniconda]].
 1. Add the new installation to PATH.{{{
export PATH=<new miniconda path>/bin:$PATH
}}}
 1. Install eman-deps with cmake 3.14.{{{
conda config --set auto_update_conda False
conda install conda=4.6.14
conda install eman-deps=14.3 cmake=3.14 boost=1.64 conda=4.6.14 -c cryoem/label/boost -c cryoem -c defaults -c conda-forge
}}}



=== Existing Miniconda/Anaconda Installations ===

 1. Pin your conda, you need to do this only once. Skip this step, if you have already done it.{{{
conda config --set auto_update_conda False
conda install conda=4.6.14
}}}
 1. Create a new environment.{{{
conda create -n eman-deps-14.2 eman-deps=14.3 cmake=3.14 boost=1.64 -c cryoem/label/boost -c cryoem -c defaults -c conda-forge
}}}
 1. Use the activation command printed at the end of the previous command's run to activate the new conda environment.{{{
conda activate eman-deps-14.3
or
source activate eman-deps-14.3
}}}
 1. To switch to another conda environment, first deactivate your current environment.{{{
conda deactivate
or
source deactivate
}}}




== Setup Python 2 Environment with Boost 1.66 ==

[[https://github.com/cryoem/eman2/pull/410|PR: Build with Boost versions 1.65-1.66]]

=== New Miniconda Installations ===

 1. Download and install [[https://repo.continuum.io/miniconda/|Miniconda]].
 1. Add the new installation to PATH.{{{
export PATH=<new miniconda path>/bin:$PATH
}}}
 1. Install eman-deps with cmake 3.14.{{{
conda config --set auto_update_conda False
conda install conda=4.6.14
conda install eman-deps=14.3 cmake=3.14 boost=1.66 conda=4.6.14 -c cryoem/label/boost -c cryoem -c defaults -c conda-forge
}}}



=== Existing Miniconda/Anaconda Installations ===

 1. Pin your conda, you need to do this only once. Skip this step, if you have already done it.{{{
conda config --set auto_update_conda False
conda install conda=4.6.14
}}}
 1. Create a new environment.{{{
conda create -n eman-deps-14.2 eman-deps=14.3 cmake=3.14 boost=1.66 -c cryoem/label/boost -c cryoem -c defaults -c conda-forge
}}}
 1. Use the activation command printed at the end of the previous command's run to activate the new conda environment.{{{
conda activate eman-deps-14.3
or
source activate eman-deps-14.3
}}}
 1. To switch to another conda environment, first deactivate your current environment.{{{
conda deactivate
or
source deactivate
}}}



== Build ==
Checkout a branch and build as usual.
 1. Update eman2 source.{{{
cd <source directory>
git checkout <branch>
git pull --rebase
}}}
 1. Activate conda environment, if it is a conda environment.{{{
conda activate <env-name>
or
source activate <env-name>
}}} or edit PATH to have the miniconda installation as the first entry.
 1. Move into your build directory.{{{
cd <build directory>
}}}
 1. Build and install.{{{
cmake <eman2 source directory>
make
make install
}}}