Skip to content

Dependency Issue with epicscorelibs #171

Closed
@XavSPM

Description

@XavSPM

Hello,

I attempted to install the latest version of pythonSoftIOC on a Raspberry Pi, but I'm encountering a dependency error with epicscorelibs. I need to use the latest version because I require the non_interactive_ioc() function, which is not available in version 4.5.0 on the pip repository.

epics@Ambiance-P1:~ $ python -m venv test
epics@Ambiance-P1:~/test $ source bin/activate
(test) epics@Ambiance-P1:~ $ python -V
Python 3.11.2
(test) epics@Ambiance-P1:~ $ pip install git+https://github.com/DiamondLightSource/pythonSoftIOC
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting git+https://github.com/DiamondLightSource/pythonSoftIOC
  Cloning https://github.com/DiamondLightSource/pythonSoftIOC to /tmp/pip-req-build-_y8wk1jc
  Running command git clone --filter=blob:none --quiet https://github.com/DiamondLightSource/pythonSoftIOC /tmp/pip-req-build-_y8wk1jc
  Resolved https://github.com/DiamondLightSource/pythonSoftIOC to commit c110d2fd4616feb4b05377934e37e25a70a0b72d
  Running command git submodule update --init --recursive -q
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting epicscorelibs<7.0.7.99.1,>=7.0.7.99.0.2
  Using cached epicscorelibs-7.0.7.99.0.2-cp311-cp311-linux_aarch64.whl
Collecting pvxslibs>=1.2.2
  Downloading pvxslibs-1.3.1.tar.gz (660 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 660.3/660.3 kB 5.5 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting numpy
  Using cached numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (14.0 MB)
Collecting epicsdbbuilder>=1.4
  Downloading https://www.piwheels.org/simple/epicsdbbuilder/epicsdbbuilder-1.5-py3-none-any.whl (19 kB)
Requirement already satisfied: setuptools in ./test/lib/python3.11/site-packages (from epicscorelibs<7.0.7.99.1,>=7.0.7.99.0.2->softioc==4.5.0+29.gc110d2f) (66.1.1)
Collecting setuptools-dso>=2.9a1
  Using cached https://www.piwheels.org/simple/setuptools-dso/setuptools_dso-2.11-py2.py3-none-any.whl (23 kB)
Collecting pvxslibs>=1.2.2
  Downloading pvxslibs-1.2.4.tar.gz (643 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 643.9/643.9 kB 12.3 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
  Downloading pvxslibs-1.2.3.tar.gz (642 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 642.5/642.5 kB 12.4 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
  Downloading pvxslibs-1.2.2.tar.gz (641 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 641.0/641.0 kB 12.6 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
INFO: pip is looking at multiple versions of epicsdbbuilder to determine which version is compatible with other requirements. This could take a while.
Collecting epicsdbbuilder>=1.4
  Downloading https://www.piwheels.org/simple/epicsdbbuilder/epicsdbbuilder-1.4.3-py3-none-any.whl (22 kB)
INFO: pip is looking at multiple versions of epicscorelibs to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of <Python from Requires-Python> to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of softioc to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install softioc and softioc==4.5.0+29.gc110d2f because these package versions have conflicting dependencies.

The conflict is caused by:
    softioc 4.5.0+29.gc110d2f depends on epicscorelibs<7.0.7.99.1 and >=7.0.7.99.0.2
    pvxslibs 1.3.1 depends on epicscorelibs<7.0.7.99.2 and >=7.0.7.99.1.1a2
    softioc 4.5.0+29.gc110d2f depends on epicscorelibs<7.0.7.99.1 and >=7.0.7.99.0.2
    pvxslibs 1.2.4 depends on epicscorelibs<7.0.7.99.2 and >=7.0.7.99.1.1a2
    softioc 4.5.0+29.gc110d2f depends on epicscorelibs<7.0.7.99.1 and >=7.0.7.99.0.2
    pvxslibs 1.2.3 depends on epicscorelibs<7.0.7.99.2 and >=7.0.7.99.1.1a2
    softioc 4.5.0+29.gc110d2f depends on epicscorelibs<7.0.7.99.1 and >=7.0.7.99.0.2
    pvxslibs 1.2.2 depends on epicscorelibs<7.0.7.99.2 and >=7.0.7.99.1.1a2

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

It seems there's a dependency conflict between epicscorelibs and pvxslibs, which is preventing the installation.

Do you have any suggestions on how to resolve this issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions