Binary Installers


Packages for Anaconda can be installed via:

conda install -c paulscherrerinstitute cachannel


The binary packages are distributed at PyPI. They have EPICS libraries statically builtin. Make sure you have pip and wheel installed,

$ sudo pip install cachannel # macOS
> C:\Python27\Scripts\pip.exe install cachannel :: Windows


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


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

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

  • 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.

      Linux 32bit linux-x86
      64bit linux-x86_64
      Windows 32bit win32-x86
      64bit windows-x64
      macOS PPC darwin-ppcx86
      Intel darwin-x86
  • Run make.


As soon as the epics base libraries are ready, it is simple,

  • On Widnows:

    > C:\Python27\python.exe install
  • On Linux/macOS:

    $ [sudo] python install


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 install


After the build succeeds, you may want to create a package for distribution.


Conda recipe is included:

$ conda build -c paulscherrerinstitute conda-recipe


$ python bdist_wheel


The spec file python-CaChannel.spec is included. Get the source tarball either from PyPI or create it by python 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.