Skip to content

The provided wheels faultily report to be pure Python #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mrossinek opened this issue May 16, 2024 · 5 comments
Closed

The provided wheels faultily report to be pure Python #16

mrossinek opened this issue May 16, 2024 · 5 comments

Comments

@mrossinek
Copy link

I would like to raise the issue symengine/symengine.py#474 to this repo because I believe that the fix for this requires some changes to how the Python wheels are built.

There is a lot in that discussion so let me try to summarize the key points:

The symengine wheels report as pure Python, although they are not, which I believe has to be fixed for this issue to be resolved. Unfortunately, I do not have the expertise to fix this in the build system of symengine but maybe the maintainers of this repository could help with that.

I see that there have been efforts in the past to part the build setup to scikit-build, which might prove to be a good path forward:

Cc @martinruefenacht

@jlapeyre
Copy link

bump?

@garrison
Copy link

garrison commented Aug 22, 2024

This bug is commonly encountered when using symengine on Fedora-based systems (including RHEL), under virtualenv or tox (which uses virtualenv under the hood, I have heard). The below Dockerfile shows how simple it is to reproduce, and it makes symengine impossible to uses under these circumstances.

FROM fedora:40
RUN dnf install -y pip
RUN pip install virtualenv
RUN virtualenv myenv
RUN ./myenv/bin/pip install symengine
RUN ./myenv/bin/python -c 'import symengine'

This test case can be reproduced by installing docker, placing the above text in a Dockerfile in its own directory, and running docker build . from that directory.

STEP 6/6: RUN ./myenv/bin/python -c 'import symengine'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "//myenv/lib/python3.12/site-packages/symengine/__init__.py", line 12, in <module>
    import symengine.lib.symengine_wrapper as wrapper
ModuleNotFoundError: No module named 'symengine.lib.symengine_wrapper'
Error: building at STEP "RUN ./myenv/bin/python -c 'import symengine'": while running runtime: exit status 1

@isuruf
Copy link
Member

isuruf commented Aug 22, 2024

Switching to scikit-build would be the best way forward

@mrossinek
Copy link
Author

I assume that this issue has also been resolved by symengine/symengine.py#511, thank you, isuruf!

I have not yet had the time to test this fix. Any chance there will be a new PyPI version released with it soon?

@isuruf
Copy link
Member

isuruf commented Apr 21, 2025

wheels should be up now

@isuruf isuruf closed this as completed Apr 21, 2025
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

No branches or pull requests

4 participants