SAS Event Stream Processing
includes two shell scripts to assist with configuring environment
variables for running SAS Event Stream Processing. Using these scripts
to run Python modules in SAS Micro Analytic Service is optional.
The script espenv_print
prints a list of shell commands that can be cut and pasted into your
.bashrc file or other shell script of your choice. The following
is example output from espenv_print:
[develop]$ ../package-scripts/espenv_print -i sas -m 3.4
# The setting environment for an official SAS installation.
# The path name must point to the espenv_print location.
# -i indicates that the content must be stored in SAS or that it is SAS software.
# -m is required only if you plan to use Python, and it is followed
# by the version number.
#
#
# Save or restore the previous PATH.
#
if [ ! -z ${ESPENV_PATH} ] ; then
PATH=$ESPENV_PATH
else
ESPENV_PATH=$PATH
fi
#
# Unset event stream processing specific variables.
#
unset TKPATH
unset ESP_I
#
# Set basic variables for event stream processing.
#
DFESP_HOME="/mnt/data/home/userid/work/esp"
ESP_I="-I /mnt/data/home/userid/work/esp/include/esptk
-I /mnt/data/home/userid/work/esp/include/mas"
LD_LIBRARY_PATH="/mnt/data/home/userid/work/esp/lib:
/mnt/data/home/userid/SASFoundation/sasexe"
PATH="/mnt/data/home/userid/work/esp/bin:
/mnt/data/tools/java/jdk1.8.0_60/bin:
/mnt/data/tools/apache/apache-ant-1.8.2/bin:
/mnt/data/tools/maven/apache-maven-3.3.9/bin:
/mnt/data/tools/doxy/1.8.8/bin:
/mnt/data/tools/git/bin:
/opt/teradata/client/14.10/tbuild/bin:
/usr/lib64/qt-3.3/bin:/opt/rh/python27/root/usr/bin:
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:
/usr/sbin:/sbin:/mnt/data/home/userid/work/esp/develop/bin"
#
# Set the basic variables for event stream processing,
# SAS Micro Analytic Service, or Python.
#
source activate python34
PYTHONPATH=".:$CONDA_PREFIX/lib/python3.4:
$CONDA_PREFIX/lib/python3.4/site-packages:
$CONDA_PREFIX/lib/python3.4/site-packages/pandas:
$CONDA_PREFIX/lib/python3.4/site-packages/numpy:
$CONDA_PREFIX/lib/python3.4/site-packages/numpy/lib"
LD_LIBRARY_PATH="$CONDA_PREFIX/lib:$LD_LIBRARY_PATH"
export DFESP_HOME TKPATH ESP_I LD_LIBRARY_PATH PATH PYTHONPATH ESPENV_PATH
The script espenv can
generate the same shell commands as espenv_print. However, instead
of printing the commands to the console, it executes the commands,
configuring the current shell to run Python modules in SAS Event Stream
Processing.
To make Python configuration
as convenient as possible, add the espenv function to your .bashrc
file using the following steps. This makes the function available
to call from any folder, as long as you are in a bash shell. Use
the espenv function if you switch back and forth between Python 2.7
and Python 3.4. If you plan to use only one of the versions, add
the output of espenv_print to your .bashrc file instead. This makes
the configuration run automatically whenever you launch a bash shell.
-
Open espenv_func and
copy the code.
-
Change directories to
your home directory.
-
Paste the code into
your .bashrc file.
-
Copy espenv_print to
your home directory.
-
Edit espenv_print and
search for the following lines:
#***********************************************************************
# MODIFY PYTHONPATH (BELOW) WHENEVER PYTHON PACKAGES HAVE BEEN ADDED *
# OR REMOVED FROM YOUR ANACONDA PYTHON 3.4 ENVIRONMENT *
#***********************************************************************
PYTHONPATH='.:$CP/lib/python3.4:$CP/lib/python3.4/site-packages:$CP/lib/
python3.4/site-packages/numpy:$CP/lib/python3.4/site-packages
/numpy/lib:$CP/lib/python3.4/site-packages/sklearn'
-
The script contains
two lines that set PYTHONPATH, one for Python 3.4 and the other for
Python 2.7. Edit the appropriate PYTHONPATH and add paths for each
Python package that you have installed and intend to use. Be sure
to separate each path with a colon. $CP represents the root location
where packages are stored in your Anaconda environment (such as the
folder called site-packages). espenv_print automatically retrieves
this location from Anaconda when the script is executed.
Note: Some Python packages require
you to store more than one path because they store Python modules
and executables in more than one folder.
-
Note: Here is an alternative method:
-
-
Cut and paste the output
into your .bashrc file.
-
Append :$PATH to the
end of the line that starts with PATH.
-
Append the following
to the end of LD_LIBRARY_PATH:
:$LD_LIBRARY_PATH
For a complete description
of these scripts and their options, see SAS Event Stream Processing on Linux: Deployment Guide.