Table of Contents
Installing Smil under Anaconda
It's possible to install Smil under Anaconda and it's a good idea. But some particular precautions shall be taken to avoid conflicts between libraries installed system-wide and those installed inside Anaconda.
Typically, you shall follow these steps :
Install Anaconda
Download and Install Anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh chmod +x Anaconda3-2019.03-Linux-x86_64.sh ./Anaconda3-2019.03-Linux-x86_64.sh
After some questions, Anaconda will be installed, and your shell configuration file ($HOME/.bashrc
) will be modified. Anaconda tree will be placed, by default, at $HOME/anaconda3
, but you can place it elsewhere, if you prefer.
If you'll compile Smil
, you'll need to install other packages which aren't installed by default. Just type :
Additional packages
conda install gxx_linux-64 swig cmake
What if I want an older version of Python ?
Current Anaconda release comes with Python 3.7
. If you want an older version, e.g. Python 3.5
or Python 2.7
, the probably better way, is to create an environment for it, after installing Anaconda. just type :
Creating an environment for Python 2.7
conda create -n python27 python=2.7 conda activate python27
Creating an environment for Python 3.5
conda create -n python35 python=3.5 conda activate python35
You'll also need to install some packages specifics to this Python
release. You'll need :
Additional packages
conda install gxx_linux-64 cmake swig libpng jpeg libtiff curl numpy ipython qt pyqt
Compile and install Smil
There are two ways to configure building of Smil : using ccmake
and with the shell script config-smil
.
For the moment, the best way to configure Smil is with this shell script as it will take into account that you're inside an Anaconda
and configure Smil
accordingly.
Usage of this script is better explained at : Build configuration
Smil
with Python
, each instance of Smil
is valid only for the version of Python
it was linked. So, if you intend to run Smil
with different versions of Python
, you'll need to build as many instances of Smil
as you have versions of Python
.
The easiest way to do this is to use different prefixes. E.g. :
/usr/local/Smil-2.7
, /usr/local/Smil-3.5
, /usr/local/Smil-3.7
…
Defining a prefix for Python 2.7
config-smil --prefix=/usr/local/Smil-27
Post Installation and Running
To ensure Smil
will work as expected, you shall define the following environment variables.
Smil
shell environment
export PYTHONPATH=/usr/local/lib/Smil export LD_LIBRARY_PATH=$CONDA_PREFIX/lib
This will ensure that Smil
will use all libraries installed by Anaconda and it will be able to find Smil Python
modules.
PYTHONPATH
is the concatenation of $PREFIX
and /lib/Smil
.
To check your just installed Smil, just launch ipython
, create a simple image
and show it :
Smil
test
$ ipython Python 2.7.16 |Anaconda, Inc.| (default, Mar 14 2019, 21:00:58) IPython 5.8.0 -- An enhanced Interactive Python. In [1]: import smilPython as sp SMIL (Simple Morphological Image Library) 0.9.2 Copyright (c) 2011-2016, Matthieu FAESSEL and ARMINES Copyright (c) 2017-2019, CMM - Centre de Morphologie Mathematique All rights reserved. In [2]: im = sp.Image() In [3]: im.show()