Opened 3 years ago
Last modified 2 years ago
#65109 assigned enhancement
py-build,py-bootstrap-modules: breaks use of trace-mode
Reported by: | reneeotten (Renee Otten) | Owned by: | jmroot (Joshua Root) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | Cc: | danchr (Dan Villiom Podlaski Christiansen) | |
Port: | py-build py-bootstrap-modules |
Description
For Python ports that use python.pep517 yes
one cannot use trace-mode at this moment. Builds will all fail when either colorama
or importlib-metadata
are installed.
AttributeError: module 'colorama' has no attribute 'init'
The colorama
package is only required on Windows, but do to the way it checks for the presence of the package it causes a failure in trace-mode. This is easily fixed by just patching out the use of colorama
in build-0.7.0/src/build/__main__.py
.
AttributeError: module 'importlib_metadata' has no attribute 'MetadataPathFinder'
This is likely due to how setuptools
checks whether the importlib_metadata
package is available... an "easy" but not really correct way would be to just add the pyXY-importlib-metadata
as a build dependency or investigate further on how this can be avoided in py-build
.
I am happy to try and fix building using pep517
in trace-mode, but first wanted to get some opinions before spending time on it.
Change History (3)
comment:1 follow-up: 2 Changed 3 years ago by jmroot (Joshua Root)
comment:2 Changed 3 years ago by reneeotten (Renee Otten)
Replying to jmroot:
I'm really not interested in trying to work around bugs in trace mode, especially when it's affecting something as ubiquitous as module importing, which could easily become an endless rabbit hole of problems. If you want to fix this, the way to do it would be to figure out what mechanism trace mode is not wrapping properly, and fix that in base.
Fair enough and I agree that what I am suggesting isn't the best way... but fixing trace-mode would be useful and what I suggested should solve this particular issue when building with pep517
. It is certainly faster than me trying to figure out how trace-mode is implemented in base, attempt to spot the problem and come up with a solution - time is limited and that's something I am not really interested in doing. So I guess we can just close this ticket, or we wait and hope that someone will come along and try to work on the trace-mode code in base.
I'm really not interested in trying to work around bugs in trace mode, especially when it's affecting something as ubiquitous as module importing, which could easily become an endless rabbit hole of problems. If you want to fix this, the way to do it would be to figure out what mechanism trace mode is not wrapping properly, and fix that in base.