diff --git a/README.rst b/README.rst index 4fba76a33d61c89a9471785c354905ff2fd0e47d..a251c3a4a04fa5591a2c08c28ff4f34a56bfbda1 100644 --- a/README.rst +++ b/README.rst @@ -35,6 +35,41 @@ After installation, you should make sure that the home directory is in the PATH 4. export PATH=$HOME/.local/bin:$PATH +Installation using virtual python environment +--------------------------------------------- + +Create virtual environment:: + + module load anaconda/3 + python -m venv /path/to/new/virtual/environment + source /path/to/new/virtual/environment/bin/activate + +Clone from git:: + + cd /path/to/packages + git clone https://git.xfel.eu/gitlab/detectors/pycalibration.git + cd pycalibration + +Edit path to the python environment in the bin/activate.sh file. Change:: + + export PATH=/home/${USER}/.local/bin:$PATH + +to:: + + export PATH=/path/to/new/virtual/environment/bin:$PATH + +Install the package:: + + pip install -r requirements.txt + +In additional install pyDetLib package, which is required for many notebooks:: + + cd /path/to/packages + git clone https://git.xfel.eu/gitlab/karaboDevices/pyDetLib.git + cd pyDetLib/lib + pip install -r requirements.txt + pip install . + Development Installation ------------------------ diff --git a/activate b/bin/activate.sh similarity index 76% rename from activate rename to bin/activate.sh index f106500479f53df5571ede6e677be24a48cf6c7a..9584c3b78f61ec4a2c565e277aee4dafae1ee9de 100644 --- a/activate +++ b/bin/activate.sh @@ -1,4 +1,5 @@ source /etc/profile.d/modules.sh module load anaconda/3 module load texlive +# export path to python environment export PATH=/home/${USER}/.local/bin:$PATH diff --git a/bin/slurm_calibrate.sh b/bin/slurm_calibrate.sh index 5b7105a5b7682278a556f171c97066d92fc6c0aa..44be0e93e511c491fe6171badb0e0f49c708d1f2 100755 --- a/bin/slurm_calibrate.sh +++ b/bin/slurm_calibrate.sh @@ -6,7 +6,7 @@ python_path=$2 ipython_path=$3 jupyter_path=$4 ipcluster_path="${5}" -krb_activate_path=$6 +activate_path=$6 uuid=$7 notebook=$8 detector=$9 @@ -21,7 +21,7 @@ echo "Python path: $python_path" echo "IPython path: $ipython_path" echo "Jupyter path: $jupyter_path" echo "IP-Cluster path: $ipcluster_path" -echo "Karabo activate: $krb_activate_path" +echo "Environment activate: $activate_path" echo "IP-Cluster profile: $uuid" echo "notebook: $notebook" echo "detector: $detector" @@ -34,15 +34,7 @@ echo "job ID: $SLURM_JOB_ID" export CAL_NOTEBOOK_NAME=$notebook # set-up enviroment -if [ "${krb_activate_path}" != "NO_KRB_ACTIVATE" ] -then - source ${krb_activate_path} -else - source /etc/profile.d/modules.sh - module load anaconda/3 - module load texlive - export PATH=/home/${USER}/.local/bin:$PATH -fi +source ${activate_path} echo "Starting influx feeder" ./cal_influx_feeder.sh $notebook $detector $caltype > /dev/null 2>&1 & diff --git a/xfel_calibrate/calibrate.py b/xfel_calibrate/calibrate.py index 944dc8f676923227d10e6bdc68a6615d3d7e038b..ee22e2fbd7ebf7adddd6e861cb1e3d75df432be3 100755 --- a/xfel_calibrate/calibrate.py +++ b/xfel_calibrate/calibrate.py @@ -641,8 +641,8 @@ def concurrent_run(temp_path, nb, nbname, args, cparm=None, cval=None, ipython_path, # path to ipython jupyter_path, # path to jupyter ipcluster_path, # path to ipcluster - # karabo activate path - karabo_activate_path if karabo_activate_path else "NO_KRB_ACTIVATE", + # python activate path + activate_path if activate_path!="" else "{}/bin/activate.sh".format(os.path.dirname(__file__)), args.get("cluster_profile", "NO_CLUSTER"), '"{}"'.format(base_name.upper()), '"{}"'.format(args["detector"].upper()), diff --git a/xfel_calibrate/settings.py b/xfel_calibrate/settings.py index 3b9ee2144029a4f2a5e9b9ef1823e37ada525e6b..fdf56f40ca519b4e7e16ec60a2558ba62de3aaf9 100644 --- a/xfel_calibrate/settings.py +++ b/xfel_calibrate/settings.py @@ -12,8 +12,8 @@ ipython_path = "ipython" # Path to use for calling Jupyter. If the environment is correctly set, simply the command jupyter_path = "jupyter" -# Path to find the Karabo activate script at, set to an empty string if not running in a Karabo environemnt -karabo_activate_path = "" +# Path to find activate script +activate_path = "" # Path to use for calling ipcluster. If the environment is correctly set, simply the command ipcluster_path = "ipcluster"