PEP 517 isolation breaks test module with relative out-of-source dependency
See original GitHub issueEnvironment
- pip version: 19.0.2
- Python version: 3.8.0a1
- OS: Linux
Description
In the PyO3 project, we have a test module nested inside the examples
folder that needs to build against the version of pyo3
in the repository, which is located in ../..
relative to the source root, because it’s intended to test that version of PyO3. This is accomplished by specifying the path of the pyo3
root in Cargo.toml
.
The problem is that when using PEP 517, the build root gets moved out of the source tree (fair), and we no longer have a reliable way to specify a relative out-of-source dependency.
Given that this is a pretty unusual requirement, I’m going to investigate various ways to work around this from within setup.py
(maybe rewrite the Cargo.toml
file with an absolute file path as part of an sdist
build or write a custom PEP 517 backend), but I thought I’d bring it up as a potential incompatibility with PEP 517.
See pyo3/pyo3#362
Issue Analytics
- State:
- Created 5 years ago
- Comments:13 (13 by maintainers)
Top GitHub Comments
@davidhewitt Thanks for the verification on this - we appreciate you taking the time to report back 🙂
Unfortunately, there have been a number of issues with the implementation of in-place builds (which are being tracked under #7555) which means that for now, we need to revert this change. As a result this issue will become a problem again, and we’ll therefore be reopening it. Longer-term, we hope to have a solution that addresses the issues that in-place builds solved, but without the impact on other workflows that the current solution had. Sorry for the disruption that this will cause.
(@pradyunsg - can you please include this information in the other issues covered by the in-place build changes, as we discussed?)
Now that #7555 has landed for good, I think this can be closed again. Holler if not.