Installation¶
Binary Installers¶
Anaconda¶
Packages for Anaconda can be installed via:
conda install -c paulscherrerinstitute cachannel
Wheel¶
The binary packages are distributed at PyPI. They have EPICS 3.14.12.6 libraries statically builtin. Make sure you have pip and wheel installed,
$ sudo pip install cachannel # macOS
> C:\Python27\Scripts\pip.exe install cachannel :: Windows
Egg¶
PyPI does not allow upload linux-specific wheels package, yet (as of 2014). The old egg format is used then:
$ sudo easy_install cachannel
Or install only for the current user:
$ easy_install --user cachannel
Source¶
If a binary package is not available for your system, you can build from source. If you have a valid EPICS base installation, as described by Getting EPICS, the C extension will be compiled. Otherwise it will instead use caffi as the backend.
The source can be downloaded in various ways:
The released source tarballs can be found at PyPI.
From the git repository, each release can be downloaded as a zip package.
Clone the repository if you feel adventurous:
$ git clone https://github.com/CaChannel/CaChannel.git
On Linux, the python header files are normally provided by package like python-devel or python-dev.
numpy
is optional, but it can boost the performace when reading large waveform PVs,
which are common for areaDetector images.
Getting EPICS¶
In general please follow the official installation instruction. Here is a short guide,
Get the source tarball from http://www.aps.anl.gov/epics/base/R3-14/12.php.
Unpack it to a proper path.
Set the following environment variables:
EPICS_BASE : the path containing the EPICS base source tree.
EPICS_HOST_ARCH : EPICS is built into static libraries on Windows.
OS Arch EPICS_HOST_ARCH Linux 32bit linux-x86 64bit linux-x86_64 Windows 32bit win32-x86 64bit windows-x64 macOS PPC darwin-ppcx86 Intel darwin-x86
Run
make
.
Build¶
As soon as the epics base libraries are ready, it is simple,
On Widnows:
> C:\Python27\python.exe setup.py install
On Linux/macOS:
$ [sudo] python setup.py install
Note
You might need to pass -E flag to sudo to preserve the EPICS environment variables. If your user account is not allowed to do so, a normal procedure should be followed,
$ su -
# export EPICS_BASE=<epics base path>
# export EPICS_HOST_ARCH=<epics host arch>
# python setup.py install
Package¶
After the build succeeds, you may want to create a package for distribution.
Wheel¶
$ python setup.py bdist_wheel
RPM¶
The spec file python-CaChannel.spec is included. Get the source tarball either from PyPI or create it by
python setup.py sdist
, and run:
$ rpmbuild -ta CaChannel-3.0.0.tar.gz
The binary and source RPM will be created. The package name is python-CaChannel.