Description of problem: The setup.py call is appended with --prefix= - which breaks installation, bailing on not being able to write to /usr/local - or, even worse, if it is writable, put's the files there rather then in $HOME. Using --prefix=~/.local instead of --user works as expected. Version-Release number of selected component (if applicable): python3-3.9.6-2.fc34.x86_64 How reproducible: always Steps to Reproduce: $ dnf install git $ python3 -m ensurepip $ pip install -U pip $ useradd test $ su test $ cd $ git clone https://github.com/dschwoerer/xemc3 $ pip install --user -e xemc3 Actual results: cwd: /home/test/xemc3/ Complete output (35 lines): /tmp/pip-build-env-rexipg1m/overlay/lib/python3.9/site-packages/setuptools/__init__.py:148: SetuptoolsDeprecationWarning: setup_requires is deprecated. Supply build dependencies using PEP 517 pyproject.toml build-requires. warnings.warn( running develop /tmp/pip-build-env-rexipg1m/overlay/lib/python3.9/site-packages/setuptools/command/easy_install.py:156: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools. warnings.warn( WARNING: The user site-packages directory is disabled. /tmp/pip-build-env-rexipg1m/overlay/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( Checking .pth file support in /usr/local/lib/python3.9/site-packages/ error: can't create or remove files in install directory The following error occurred while trying to add or remove files in the installation directory: [Errno 13] Permission denied: '/usr/local/lib/python3.9/site-packages/test-easy-install-145.pth' The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: /usr/local/lib/python3.9/site-packages/ Perhaps your account does not have write access to this directory? If the installation directory is a system-owned directory, you may need to sign in as the administrator or "root" account. If you do not have administrative access to this machine, you may wish to choose a different installation directory, preferably one that is listed in your PYTHONPATH environment variable. For information on other options, you may wish to consult the documentation at: https://setuptools.readthedocs.io/en/latest/deprecated/easy_install.html Please make the appropriate changes for your system and try again. ---------------------------------------- ERROR: Command errored out with exit status 1: /usr/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/test/xemc3/setup.py'"'"'; __file__='"'"'/home/test/xemc3/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps --user --prefix= Check the logs for full command output. Expected results: install succeeds into ~/.local/ Additional info: Reported upstream at, got closed as being specific to fedora's python https://github.com/pypa/pip/issues/10616
> Reported upstream at, got closed as being specific to fedora's python https://github.com/pypa/pip/issues/10616 I have reproduced the problem with upstream Python. I have commented on the upstream issue. I have however also verified that if the `pip install -U pip` step is skipped, it also happens.
Since upstream has acknowledged the problem and a workaround exists, this is not something I'd like to track downstream. Feel free to reopen this bugzilla when upstream fixes the problem, in case you need a backport, but I see you update pip from upstream, so you most likely won't need it. Thanks for reporting the problem!
Thanks for looking into this!