...
Info | ||
---|---|---|
| ||
The script above may introduce duplicate paths into your environment settings. Be aware of your environment settings before and after testing your Python applications. |
#!/bin/bash
# Sets the user environment to use Python2.7.13
if [ -d /afs/slac/g/lcls ]; then
export LCLS_ROOT=/afs/slac/g/lcls
else
export LCLS_ROOT=/usr/local/lcls
fi
export ORACLE_HOME=${LCLS_ROOT}/package/oracle/product/11.2.0.2.0_x86_64/client_1
export QT_HOME=${LCLS_ROOT}/package/Qt/Qt-4.8.6/linux-x86_64
export PYTHON_ROOT=${LCLS_ROOT}/package/python/python2.7.13/linux-x86_64
export PATH=${QT_HOME}/bin:${ORACLE_HOME}/bin:${PYTHON_ROOT}/bin:${PATH}
export LD_LIBRARY_PATH=${LCLS_ROOT}/matlab/2016b/extern/lib:${EPICS_BASE_RELEASE}/lib/linux-x86_64:${EPICS_EXTENSIONS}/lib/linux-x86_64:${EPICS_BASE_TOP}/base-cpp-R4-6-0/lib/linux-x86_64:${QT_HOME}/lib:${ORACLE_HOME}/lib:${PYTHON_ROOT}/lib:${PYTHON_ROOT}/build/Python2.7.13/Lib:${LD_LIBRARY_PATH}
export PYTHONPATH=
Workarounds
After testing, it may be discovered that certain applications may not run with Python 2.7.13 64-bit due to unresolved/conflicting dependencies (e.g., 32-bit Python modules, Matlab2016b, Qt5, etc.) or other reasons. If such dependencies cannot currently be resolved, Python developers may invoke the following environment settings in a wrapper script or similar to launch the application using the older instance of Python instead:
...
- Add the previous Python instance to your environment:
export PYTHON_ROOT=${LCLS_ROOT}/package/python/python2.7.4
- Add the previous Python binaries to your environment:
export PATH=${PYTHON_ROOT}/bin:${PATH}
- Add the old Python libraries and their dependencies to your environment:
export LD_LIBRARY_PATH=${} - [Optional] $ORACLE_HOME
export ORACLE_HOME=package/oracle/product/11.1.0.6/client
export PATH=${ORACLE_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH} - [Optional] $QT_HOME
- [Optional] Matlab
...