| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| eman2:install:sourceinstall [2026/03/06 16:21] – steveludtke | eman2:install:sourceinstall [2026/04/08 16:05] (current) – steveludtke |
|---|
| * We make use of the [[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html|environment]] system in [[https://docs.conda.io/en/latest/|conda]] to separate EMAN2 dependencies from other conda or system packages you may have installed. | * We make use of the [[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html|environment]] system in [[https://docs.conda.io/en/latest/|conda]] to separate EMAN2 dependencies from other conda or system packages you may have installed. |
| * If you need to install other packages you wish to use in concert with EMAN2, you will need to install them within the EMAN2 conda environment. Be warned that sometimes installing another package may trigger a version change in one of EMAN2's dependencies, which may or may not be a problem, depending on which dependency it is. We strongly suggest getting the base EMAN2 installed and working first, before trying to install any additional packages within the same conda environment. If you don't need to use EMAN2 and the other package in the same environment, we suggest making a separate environment for the other software. | * If you need to install other packages you wish to use in concert with EMAN2, you will need to install them within the EMAN2 conda environment. Be warned that sometimes installing another package may trigger a version change in one of EMAN2's dependencies, which may or may not be a problem, depending on which dependency it is. We strongly suggest getting the base EMAN2 installed and working first, before trying to install any additional packages within the same conda environment. If you don't need to use EMAN2 and the other package in the same environment, we suggest making a separate environment for the other software. |
| | ---- |
| | <note>If you are installing EMAN2 on a Windows 11 machine, you __must__ install and set up [[https://learn.microsoft.com/en-us/windows/wsl/install|WSL2]] first! EMAN2 is installed from the WSL2 terminal (Ubuntu on Windows) once WSL2 is set up. Setting up WSL2 is not part of these instructions and this same WSL2 can be used to install other Linux software on your Win 11 machine once set up. You will need to install the compilation tools under WSL2 as well.</note> |
| |
| ---- | ---- |
| |
| * Install: | * Install: |
| <code>#!highlight bash | <code bash> |
| bash <MiniForge-installer> | bash <MiniForge-installer> |
| </code> | </code> |
| |
| |
| <code>#!highlight bash | <code bash> |
| conda create -n eman2 eman-dev --only-deps -c cryoem -c conda-forge | conda create -n eman2 eman-dev --only-deps -c conda-forge -c cryoem |
| </code> | </code> |
| |
| If, and ONLY if, you are installing on a headless machine without graphics, you can alternatively set up the **non-GUI** variant which will not have pyqt and pyopengl. Doing this will severely limit EMAN2's capabilities: | If, and ONLY if, you are installing on a headless machine without graphics, you can alternatively set up the **non-GUI** variant which will not have pyqt and pyopengl. Doing this will severely limit EMAN2's capabilities: |
| |
| <code>#!highlight bash | <code bash> |
| conda create -n eman2 'eman-dev=*=nogui_*' --only-deps -c cryoem -c conda-forge | conda create -n eman2 'eman-dev=*=nogui_*' --only-deps -c conda-forge -c cryoem |
| </code> | </code> |
| |
| |
| Linux + NVidia GPU: | Linux + NVidia GPU: |
| <code>#!highlight bash | <code bash> |
| conda activate eman2 | conda activate eman2 |
| pip install "jax[cuda12]" optax | pip install "jax[cuda12]" optax |
| |
| Mac or other non-Nvidia: | Mac or other non-Nvidia: |
| <code>#!highlight bash | <code bash> |
| conda activate eman2> | conda activate eman2> |
| pip install jax optax | pip install jax optax |
| Solutions to potential known problems will be listed here. If these don't help, please report your problem (http://groups.google.com/group/eman2): | Solutions to potential known problems will be listed here. If these don't help, please report your problem (http://groups.google.com/group/eman2): |
| |
| | * **Linux** |
| | * On recent linux installs (2025+) when running a tensorflow program you may encounter an error like **ImportError: libtensorflow_cc.so.2: cannot enable executable stack as shared object requires: Invalid argument**. This is a problem with the way conda-forge is compiling tensorflow conflicting with Linux security settings, and has nothing directly to do with EMAN2. It is easy to fix, but the specific method depends on your linux variant. I suggest pasting the exact error you're getting into one of the LLMs (ChatGPT, etc.) and get it to advise you. |
| | * This command may help in some situations: //patchelf --clear-execstack $CONDA_PREFIX/lib/libtensorflow_cc.so.2// |
| * **macOS** Users (bash only) | * **macOS** Users (bash only) |
| * On macOS, installation modifies //~/.bash_profile//. If you have a //~/.profile// startup file, creation of //~/.bash_profile// will prevent //~/.profile// from being read. A simple solution is to //source .profile// within //.bash_profile//. | * On macOS, installation modifies //~/.bash_profile//. If you have a //~/.profile// startup file, creation of //~/.bash_profile// will prevent //~/.profile// from being read. A simple solution is to //source .profile// within //.bash_profile//. |