Comments (8)
I misunderstood that the line was creating and new file for setup.cfg during the build. Yes, creating and making a new setup.cfg fixed it, or for folks doing just a pyproject.toml, the trick is to add:
[tool.distutils.bdist_wheel]
py_limited_api = "cp38"
from setuptools-rust.
Closing as we've documented a few solutions now between these issues, PRs and the README. Thanks again!
from setuptools-rust.
Thanks for the report, I'll try to take a look in the coming days.
it doesn't build with the limited api
Can I check what you're doing to determine to verify that?
from setuptools-rust.
The resulting .whl with python setup.py bdist_wheel --py-limited-api=cp38
is:
mytarget-0.0.1-cp38-abi3-win_amd64.whl
But with python -m build
it is still:
mytarget-0.0.1-cp39-cp39-win_amd64.whl
from setuptools-rust.
Ah I see. Probably what is happening is that the Rust build is using the limited API but the bdist_wheel
command isn't, so that's why the wheel name is wrong.
You could try creating a file, point the DIST_EXTRA_CONFIG
environment variable at it, and set bdist_wheel
to use the limited API in that file.
For example we do this in CI at
setuptools-rust/.github/workflows/ci.yml
Line 164 in 58266f2
Probably we need to update some documentation
from setuptools-rust.
I tried a few variations on that: (i'm on windows)
set DIST_EXTRA_CONFIG=[bdist_wheel]\npy_limited_api=cp39
python -m build -w --config-setting=--py-limited-api=cp38 --no-isolation
but so far no luck
also tried directly putting the setting in to the toml:
[bdist_wheel]
py-limited-api = "cp39"
py_limited_api = "cp39"
from setuptools-rust.
I looked through that example and the test, and the main difference between what I have and that test is that I have 100% pyproject.toml (well...i have setuptools.setup()
but that's it)
from setuptools-rust.
Submitted #400 to document
from setuptools-rust.
Related Issues (20)
- can I build an `.so` without the target between the module name and the extension? HOT 2
- Setuptools deprecation warning with setuptools-rust HOT 4
- Facing an issue while trying to build setuptools-rust HOT 3
- Compilation in setuptools_rust fails with `1.70.0-nightly` toolchain HOT 3
- Python crashes on import when using pip editable install on M1 HOT 6
- Unable to control `--debug` / `--release` via PEP517 backend HOT 7
- No module named 'setuptools.command.build' HOT 2
- Document how to use setuptools-rust with a workspace HOT 2
- Scaling PyO3 down with single-file Python extensions HOT 7
- DeprecationWarning: pkg_resources is deprecated as an API
- Allow offline mode via environment variable HOT 7
- `install_extension` crashes due to attempt to mkdir an empty path (v1.8.0)
- With latest nightly rust, builds failing due to changes in cargo output HOT 6
- Please update PyO3 to 0.20.3 HOT 2
- test_metadata_cargo_log fails when run with Python 3.13.0b1 HOT 2
- Failing compilation on MINGW + msys2 when `poetry install` HOT 4
- How to use with docker HOT 10
- `python -m pip install -e .` builds `release` instead of `debug` HOT 3
- `wheel.bdist_wheel` is depracated
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from setuptools-rust.