EPICS Core Libraries for Python

raw JSON →
7.0.10.99.0.1 verified Fri May 01 auth: no python

Provides EPICS (Experimental Physics and Industrial Control System) core C libraries bundled as Python wheels for use by Python modules like pyepics and caproto. Current version 7.0.10.99.0.1, releases as necessary to match EPICS base releases.

pip install epicscorelibs
error ImportError: libca.so: cannot open shared object file: No such file or directory
cause epicscorelibs.path was not imported, so LD_LIBRARY_PATH is not set to include the bundled libraries.
fix
Add 'import epicscorelibs.path' before importing pyepics or caproto.
error AttributeError: module 'epicscorelibs' has no attribute 'path'
cause Outdated version where the path module did not exist, or the installed package is corrupted.
fix
Upgrade epicscorelibs: pip install --upgrade epicscorelibs
gotcha Direct import of epicscorelibs does nothing. You must import epicscorelibs.path to set environment variables for EPICS libraries.
fix Add 'import epicscorelibs.path' before any EPICS-related imports.
gotcha The package version includes EPICS base version and a build suffix (e.g., 7.0.10.99.0.1). Do not confuse this with pyepics version.
fix Check epicscorelibs version via pip show epicscorelibs; EPICS version is the first three numbers.
gotcha On some platforms, the bundled libraries may conflict with system-installed EPICS libraries. Importing epicscorelibs.path modifies PATH/LD_LIBRARY_PATH, which can shadow system EPICS.
fix If using system EPICS, consider not importing epicscorelibs.path, or set environment variables to prioritize system paths.

After installing epicscorelibs and pyepics, import epicscorelibs.path to set up library paths, then use pyepics normally.

import epicscorelibs.path
import epics
import ca

# Example: connect to an EPICS PV
pv = epics.PV('example:PV')
print(pv.get())