pip install --user -e . fails
See original GitHub issueDescription
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.
Expected behavior
Respect --user
and install to $HOME
pip version
pip 21.3.1
Python version
python3-3.9.6-2.fc34.x86_64
OS
Fedora 34
How to Reproduce
git clone https://github.com/dschwoerer/xemc3
pip install --user -e xemc3
(Full instructions below)
Output
Starting on a clean fedora:34 image:
$ dnf install git
$ python3 -m ensurepip
$ pip install -U pip
$ useradd test
$ su test
$ cd
$ git clone https://github.com/dschwoerer/xemc3
Cloning into 'xemc3'...
remote: Enumerating objects: 1090, done.
remote: Counting objects: 100% (450/450), done.
remote: Compressing objects: 100% (260/260), done.
remote: Total 1090 (delta 261), reused 218 (delta 184), pack-reused 640
Receiving objects: 100% (1090/1090), 296.48 KiB | 4.17 MiB/s, done.
Resolving deltas: 100% (709/709), done.
$ pip install -e xemc3 --user
Obtaining file:///home/test/xemc3
Installing build dependencies ... done
Checking if build backend supports build_editable ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting xarray>=0.16.0
Downloading xarray-0.19.0-py3-none-any.whl (827 kB)
|ββββββββββββββββββββββββββββββββ| 827 kB 3.2 MB/s
Collecting eudist
Downloading eudist-0.1.3-cp39-cp39-manylinux2014_x86_64.whl (330 kB)
|ββββββββββββββββββββββββββββββββ| 330 kB 13.2 MB/s
Collecting numpy>=1.13.0
Downloading numpy-1.21.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB)
|ββββββββββββββββββββββββββββββββ| 15.7 MB 427 kB/s
Collecting matplotlib!=3.3.0,!=3.3.1,!=3.3.2,>=3.1.1
Downloading matplotlib-3.4.3-cp39-cp39-manylinux1_x86_64.whl (10.3 MB)
|ββββββββββββββββββββββββββββββββ| 10.3 MB 12.7 MB/s
Collecting netcdf4>=1.4.0
Downloading netCDF4-1.5.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)
|ββββββββββββββββββββββββββββββββ| 4.7 MB 14.5 MB/s
Collecting pyparsing>=2.2.1
Using cached pyparsing-3.0.1-py3-none-any.whl (96 kB)
Collecting pillow>=6.2.0
Downloading Pillow-8.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
|ββββββββββββββββββββββββββββββββ| 3.1 MB 6.7 MB/s
Collecting cycler>=0.10
Downloading cycler-0.10.0-py2.py3-none-any.whl (6.5 kB)
Collecting kiwisolver>=1.0.1
Downloading kiwisolver-1.3.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.6 MB)
|ββββββββββββββββββββββββββββββββ| 1.6 MB 8.7 MB/s
Collecting python-dateutil>=2.7
Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
|ββββββββββββββββββββββββββββββββ| 247 kB 9.7 MB/s
Collecting cftime
Downloading cftime-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (228 kB)
|ββββββββββββββββββββββββββββββββ| 228 kB 13.3 MB/s
Collecting pandas>=1.0
Downloading pandas-1.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB)
|ββββββββββββββββββββββββββββββββ| 11.5 MB 6.6 MB/s
Requirement already satisfied: setuptools>=40.4 in /usr/local/lib/python3.9/site-packages (from xarray>=0.16.0->xemc3==0.1.0) (53.0.0)
Collecting six
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting pytz>=2017.3
Downloading pytz-2021.3-py2.py3-none-any.whl (503 kB)
|ββββββββββββββββββββββββββββββββ| 503 kB 11.0 MB/s
Installing collected packages: six, pytz, python-dateutil, numpy, pyparsing, pillow, pandas, kiwisolver, cycler, cftime, xarray, netcdf4, matplotlib, eudist, xemc3
Running setup.py develop for xemc3
ERROR: Command errored out with exit status 1:
command: /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=
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.
Code of Conduct
- I agree to follow the PSF Code of Conduct.
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (5 by maintainers)
Top Results From Across the Web
Permission denied with pip install --user -e /home/me/package
I am trying to install local package in --editable mode using pip . When I issue the command... $ python3.7 -m pip install...
Read more >pip install with user mode and editable fails with python 3.10
Description When I tried to install with --no-use-pep517 option, it fails in the TEST step as: ERROR: Command errored out with exit statusΒ ......
Read more >2017839 β pip install --user -e . fails - Red Hat Bugzilla
Description of problem: The setup.py call is appended with --prefix= - which breaks installation, bailing on not being able to write to /usr/local...
Read more >[solved] Problem installing development version (pip install -e .)
Summary: I was trying to install a package in editable mode in a virtual mode using βpython -m pip install -e .β and...
Read more >Changelog - pip documentation v22.3.1
ERROR : Cannot uninstall foobar 0.1, RECORD file not found. Hint: The package was installed by rpm.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
This looks like an issue in Red Hatβs Python (or maybe they donβt support this use case). You will need to report this to Red Hat.
Duplicate of #7953