Re: [Distutils] build system abstraction PEP, take #2
I forgot to reply to the list, so I re-added it
To further explain, in my setuptools replacement experiment I implement the develop command by generating a a wheel
Using a local version tag `+develop`,
Instead of the actual code, for each top-level it contains a shim python file that will load the real code from the editable location
However it will use pip to install that wheel and create scripts/exe files
In particular windows support for a full develop command is orders of magnitude more easy if one let's pip make the scripts(exe files)
I think it's very helpful for tool authors if pip has ways for them to avoid platform pitfalls like exe files
Am 17. November 2015 08:15:41 MEZ, schrieb Robert Collins
On 17 November 2015 at 19:16, Ronny Pfannschmidt
wrote: The develop command should be able to generate a wheel with a local version that pip can install That way tool authors can completely avoid writing the target folders and its possible to always run completely unprivileged builds
Thats an interesting idea, but wholly different to what 'develop' does and is used for. My goal here is to only commit to new things where the new thing is all of: - a small amount of work - meets existing use cases - able to be put into pip/setuptools/wheel/etc now (rather than after a bunch of other things are done)
I completely agree with the idea that develop as it stands has a number of limitations, but there is no generic implementation available for pip to reuse; there is no feature in pip that would do what you want either; nor even a proof of concept. I think as such its premature to PEPify it.
What could be done is to take the abstract build system work (which *is* within reach for pip) and create a implementation with a new schema version and whatever semantics you want around this new developish thing, and write an incremental PEP (so you don't need any of the PEP I've put up, just inherit from it and define your new thing - and then we can kick the tires on it and see how its going to work etc.
Note that what you describe 'generate a wheel with a local version' is actually exactly what the 'wheel' command does as far as I can tell, but I'm sure thats not what you have in mind - so please do expand on the differences, in paranoid-folk-make-sure-folk-cannot-misunderstand-style ;)
-Rob
-- Robert Collins
Distinguished Technologist HP Converged Cloud
-- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
participants (1)
-
Ronny Pfannschmidt