Skip to content

Conversation

jbellister-slac
Copy link
Collaborator

Context

With pyca available on PyPI now here:

https://pypi.org/project/pyca-epics/

This just reverts the temporary change from #1211 and adds it back as a PyPI installable package in both the dev-requirements.txt file and our testing workflow.

…nd install it from PyPI during our testing workflows
…Only Windows doesn't have support for the other optional EPICS client packages now.
@jbellister-slac jbellister-slac marked this pull request as draft May 1, 2025 19:03
@tangkong
Copy link
Contributor

tangkong commented May 9, 2025

Interesting that the macos pyca installs are failing here, particularly since I was testing this locally on my mac...

Details

(pyca)roberttk@PC100147:~$ pip install pyca-epics
...
Downloading pyca_epics-3.3.3-cp312-cp312-macosx_11_0_arm64.whl (698 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 698.7/698.7 kB 10.8 MB/s eta 0:00:00
Installing collected packages: pyca-epics
Successfully installed pyca-epics-3.3.3
(cd into my env...)
(pyca)roberttk@PC100147:~/miniconda3/envs/pyca/lib/python3.12/site-packages/epicscorelibs/lib$ ll
total 48696
drwxrwxr-x  31 roberttk  1704612529      992 May  9 10:11 .
drwxrwxr-x  20 roberttk  1704612529      640 May  9 10:11 ..
-rw-rw-r--   1 roberttk  1704612529      342 May  9 10:11 Com_dsoinfo.py
-rw-rw-r--   1 roberttk  1704612529        0 May  9 10:11 __init__.py
drwxrwxr-x  12 roberttk  1704612529      384 May  9 10:11 __pycache__
-rw-rw-r--   1 roberttk  1704612529      362 May  9 10:11 ca_dsoinfo.py
-rw-rw-r--   1 roberttk  1704612529      398 May  9 10:11 dbCore_dsoinfo.py
-rw-rw-r--   1 roberttk  1704612529      432 May  9 10:11 dbRecStd_dsoinfo.py
-rwxrwxr-x   1 roberttk  1704612529  1013568 May  9 10:11 libCom.7.0.7.99.1.dylib
-rwxrwxr-x   1 roberttk  1704612529  1013568 May  9 10:11 libCom.dylib
-rwxrwxr-x   1 roberttk  1704612529   894976 May  9 10:11 libca.7.0.7.99.1.dylib
-rwxrwxr-x   1 roberttk  1704612529   894976 May  9 10:11 libca.dylib
-rwxrwxr-x   1 roberttk  1704612529  1271120 May  9 10:11 libdbCore.7.0.7.99.1.dylib
-rwxrwxr-x   1 roberttk  1704612529  1271120 May  9 10:11 libdbCore.dylib
-rwxrwxr-x   1 roberttk  1704612529   735552 May  9 10:11 libdbRecStd.7.0.7.99.1.dylib
-rwxrwxr-x   1 roberttk  1704612529   735552 May  9 10:11 libdbRecStd.dylib
-rwxrwxr-x   1 roberttk  1704612529  3468696 May  9 10:11 libpvAccess.7.0.7.99.1.dylib
-rwxrwxr-x   1 roberttk  1704612529  3468696 May  9 10:11 libpvAccess.dylib
-rwxrwxr-x   1 roberttk  1704612529   797120 May  9 10:11 libpvAccessCA.7.0.7.99.1.dylib
-rwxrwxr-x   1 roberttk  1704612529   797120 May  9 10:11 libpvAccessCA.dylib
-rwxrwxr-x   1 roberttk  1704612529   154568 May  9 10:11 libpvAccessIOC.7.0.7.99.1.dylib
-rwxrwxr-x   1 roberttk  1704612529   154568 May  9 10:11 libpvAccessIOC.dylib
-rwxrwxr-x   1 roberttk  1704612529  2941672 May  9 10:11 libpvData.7.0.7.99.1.dylib
-rwxrwxr-x   1 roberttk  1704612529  2941672 May  9 10:11 libpvData.dylib
-rwxrwxr-x   1 roberttk  1704612529  1152984 May  9 10:11 libqsrv.7.0.7.99.1.dylib
-rwxrwxr-x   1 roberttk  1704612529  1152984 May  9 10:11 libqsrv.dylib
-rw-rw-r--   1 roberttk  1704612529      468 May  9 10:11 pvAccessCA_dsoinfo.py
-rw-rw-r--   1 roberttk  1704612529      529 May  9 10:11 pvAccessIOC_dsoinfo.py
-rw-rw-r--   1 roberttk  1704612529      408 May  9 10:11 pvAccess_dsoinfo.py
-rw-rw-r--   1 roberttk  1704612529      398 May  9 10:11 pvData_dsoinfo.py
-rw-rw-r--   1 roberttk  1704612529      508 May  9 10:11 qsrv_dsoinfo.py
(pyca)roberttk@PC100147:~/miniconda3/envs/pyca/lib/python3.12/site-packages/epicscorelibs/lib$ sw_vers
ProductName:		macOS
ProductVersion:		14.7.2
BuildVersion:		23H311

@tangkong
Copy link
Contributor

tangkong commented May 9, 2025

Oh I think it might actually be epicscorelibs being pinned to a version below what pyca expects

Requirement already satisfied: epicscorelibs<7.0.7.99.1,>=7.0.7.99.0.0 in /Users/runner/miniconda3/envs/pydm-env/lib/python3.9/site-packages (from p4p->pydm==0.1.dev1+g67e780a) (7.0.7.99.0.0)

E Reason: tried: '/Users/runner/miniconda3/envs/pydm-env/lib/python3.9/site-packages/epicscorelibs/lib/libca.7.0.7.99.1.dylib' (no such file), '/Users/runner/miniconda3/envs/pydm-env/lib/python3.9/site-packages/epicscorelibs/lib/libca.7.0.7.99.1.dylib' (no such file),

That being said, I installed both packages on my mac and pip resolved epicscorelibs to a compatible version

@jbellister-slac
Copy link
Collaborator Author

Thanks for taking a look at this! I'm betting it solves with the older epicscorelibs because of the ancient p4p version on conda-forge.

I can't remember if there was a reason for not using the PyPI version of p4p in this workflow. If there was I'll figure it out again now and fix whatever that was.

@jbellister-slac
Copy link
Collaborator Author

Moving the p4p install to use PyPI did fix the epicscorelibs issue.

But then it was taking 10+ minutes to install pyca-epics since it was using source instead of the wheel file. (like here https://github.com/slaclab/pydm/actions/runs/15073922618/job/42376799112)

This was because the workflow used x64 for macOS and the wheel files for pyca are for arm64.

So I moved the workflow to use arm64 instead and ran into this

conda-forge/pyqt-feedstock#122

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants