Installation¶
Binary Installers¶
Anaconda¶
Packages for Anaconda can be installed via:
conda install -c paulscherrerinstitute pcaspy
Wheel¶
The binary packages are distributed at PyPI. They have EPICS 3.14.12.8 libraries statically builtin. Make sure you have pip and wheel installed, and run:
$ sudo pip install pcaspy # macOS and Linux
> C:\Python27\Scripts\pip.exe install pcaspy :: Windows
Note
The binary packages are built by CI/CD at the release time. The supported Python versions are up to the most recent release at that time point. That means newer Python released after that point will not have binary packages. In that case please build from source, or stay with an older Python or raise an issue to request a new build.
On Windows, if you see error message “The program can’t start because MSVCRxxx.dll is missing from your computer.” when importing pcaspy,
you might need to install the proper Visual C++ Redistributable.
Source¶
If no binary package is available for your system, you can build from source. And then you would need EPICS base installed, see Getting EPICS.
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/paulscherrerinstitute/pcaspy.git
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-static
64bit
windows-x64-static
macOS
PPC
darwin-ppcx86
Intel
darwin-x86
ARM
darwin-aarch64
From EPICS 7 onwards, PCAS library is not any more distributed in EPICS base. In the official document, it suggests building PCAS as epics module. However to simplify the build process, you are suggested to still build PCAS library together with EPICS base.
Download source from https://github.com/epics-modules/pcas/releases
Unpack its contents to <EPICS_BASE>/modules/pcas
Create <EPICS_BASE>/modules/Makefile.local, with the following contents:
SUBMODULES += pcas pcas_DEPEND_DIRS = libcom
As long as v4.13.2 is the latest release of pcas, add
-include $(TOP)/../RELEASE.$(EPICS_HOST_ARCH).local
to the end of <EPICS_BASE>/modules/pcas/configure/RELEASE.
If PCAS library is built as a separate module, its path has to be defined:
export PCAS=<pcas_module_path>
Run
make
.
Note
On windows, the Visual Studio version has to match that used to build Python.
Python Version |
Visual Studio Version |
---|---|
2.6 - 2.7, 3.0 - 3.2 |
2008 |
3.3 - 3.4 |
2010 |
3.5 - 3.12 |
2015 |
Mismatching may cause crashes!
Windows¶
Python 2.6+ including 3.x (http://www.python.org/download/)
SWIG 1.3.29+ is required. Get it from http://www.swig.org/download.html and unpack to
C:\Program Files (x86)\SWIG\
.
Download the most recent source tarball, uncompress and run:
> set PATH=%PATH%;C:\Program Files (x86)\SWIG\
> C:\Python27\python.exe setup.py build install
Linux¶
Python 2.6+ including 3.x
Python headers (package name “python-dev” or similar)
SWIG 1.3.29+ (package name “swig”)
In the source directory, run:
$ sudo python setup.py install
or install only for the current user:
$ python setup.py build install --user
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
macOS¶
SWIG (MacPorts package “swig-python”)
In the source directory, run:
$ sudo python setup.py install
Package¶
After the build succeeds, you may want to create a package for distribution.
Anaconda¶
Conda recipe is included:
$ conda build -c paulscherrerinstitute conda-recipe
Wheel¶
$ python setup.py bdist_wheel
RPM¶
The spec file python-pcaspy.spec is included. Get the source tarball either from PyPI or create it by
python setup.py sdist
, and run:
$ rpmbuild -ta pcaspy-0.6.3.tar.gz
The binary and source RPM will be created. The package name is python-pcaspy.