PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Friday the 6th of March, 2020

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[17:37:13] <toad_polo> pradyunsg: Do you know if it's possible to disable the behavior where pip builds in an ephemeral location other than using editable instlals?
[17:37:45] <pradyunsg> You can pass —build-dir (or some similar spelling) I think?
[17:38:06] <pradyunsg> —build
[17:38:26] <pradyunsg> Ah no.
[17:38:48] <pradyunsg> Looks like we still do a build in a temp dir first.
[17:39:07] <pradyunsg> toad_polo: I’m not a 100% sure about it; no.
[17:42:03] <toad_polo> I think `--no-clean` helps.
[18:02:47] <techalchemy> --no-build-isolation
[18:12:17] <toad_polo> techalchemy: No, that doesn't do that.
[18:23:40] <techalchemy> oh you said not for sdists
[18:23:47] <techalchemy> editables*
[18:28:02] <techalchemy> toad_polo, you can tell pip which ephemeral location to build in
[18:28:56] <techalchemy> if you set TMPDIR and use --no-clean it will build in $TMPDIR, but it still doesn't name things helpfully
[18:39:55] <toad_polo> techalchemy: To be clear, `--no-build-isolation` has no effect on this, no matter what.
[18:40:11] <toad_polo> I don't think it would affect editable installs either.
[18:40:12] <techalchemy> so building in isolation doesn't create a separate directory to build in
[18:40:19] <techalchemy> ?
[18:40:37] <toad_polo> I think pip always builds a separate directory.
[18:40:47] <toad_polo> Except in the case of editable installs.
[18:41:07] <toad_polo> `--no-build-isolation` has no bearing on that, the build isolation IIUC refers to the isolated build environment.
[18:41:18] <toad_polo> In any case I solved my issue.
[18:41:29] <techalchemy> so how would an isolated build environment work
[18:41:46] <techalchemy> i mean if it has nothing to do with the filesystem
[18:47:10] <toad_polo> I think it basically just does something equivalent to ENVDIR=$(mktemp -d) && python -m venv $ENVDIR && source $ENVDIR/bin/activate
[18:47:14] <toad_polo> Then does whatever it's going to do.
[18:49:58] <techalchemy> toad_polo, so how does the extra intermediate directory used for building have nothing to do with where things are built? Or maybe my confusion would go away if you said how you solved your problem
[18:50:18] <toad_polo> techalchemy: That's not a directory used for the build.
[18:50:24] <toad_polo> And it's just an example.
[18:50:46] <toad_polo> Obviously the file system is involved in building your build environment, but that has nothing to do with the location the package gets built.
[18:51:05] <toad_polo> It's just an empty site-packages directory into which pip can install your build-backend requirements.
[18:52:12] <toad_polo> A combination of `--no-clean`, `TMPDIR` and `--build` will allow you to control where stuff ends up and whether or not it disappears when you are done with it.
[18:54:06] <techalchemy> so the thing I said before works for you
[18:55:04] <techalchemy> ah yeah i'm reading the build env code a bit more closely, so isolation doesn't happen without pep517 builds?
[18:55:54] <techalchemy> ah right, there was that whole issue last yr
[18:57:04] <toad_polo> That I don't know.