-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Local installs now require write permissions #8196
Comments
I’m starting to think maybe we should revert this change. PEP 517 supporting out-of-tree builds is the only way this can be improved, but that will take a significant amount of time to roll out. In the meantime, the previous method is slow, but at least works for everyone. |
Not everyone. There were also correctness issues. Let's discuss in #7555. |
Hope this doesn't excessively clutter this issue, but I've been struggling for a day or so to figure out why I can't It looks like the problem is that I am running as an unprivileged user, but the Looks like the inability to create the A few breadcrumbs from my search history that my help other users find this issue; the fact that the error output lists
|
@n8henrie that is a known issue with setuptools since pip switched to building in place. So there are several options
I am going to close this issue as there is really nothing we can do in pip for this, it must be addressed by the build backends. |
In this context adjusting permissions works fine. In a different context, it seems like copying to
No worries, thanks for your time. |
Environment
Description
The new build-in-place behavior (ref #7882) for local project installs requires that a user have write permissions in the project directory. This normally makes sense, since a user is typically installing their own local work, but this breaks when users are installing a project owned by another user.
Without write permissions, other users will get a permissions error. However, giving them write permissions isn't ideal, and the build artifacts left behind are owned by them instead of the author.
Related to #8168
Expected behavior
Users should not require write permissions to install a local project. Possibly, pip tests for write access, and falls back to building in a temp dir? Possibly, pip could have an option for not building in place, or for providing a directory for where the build should occur (note that the
--build
option does not fix this).How to Reproduce
At a high level:
chmod 755 -R <project>
pip install -e <project>
(note that non-editable installs also fail similarly)Example error:
Detailed steps:
Vagrantfile contents:
Create primary/secondary users and
test
project owned by primary user:Verify project is reachable and attempt to install as secondary user:
Make project writable and reattempt install as secondary user:
Build artifacts are owned by secondary user:
The text was updated successfully, but these errors were encountered: