Does get-pip work under sudo?
Steven D'Aprano
steve at pearwood.info
Sat Apr 16 12:04:31 EDT 2016
I tried to install pip following the instructions here:
https://pip.pypa.io/en/stable/installing/
but whenever I tried to run the installer, I got an error. If I ran as a
regular user:
python2.7 get-pip.py
I'd get a permission denied error (as expected) trying to write to the
site-packages directory:
OSError: [Errno 13] Permission
denied: '/usr/local/lib/python2.7/site-packages/pip-8.1.1.dist-info'
This does not surprise me, and I'm not concerned by that.
But if I ran using sudo, I'd get a surprising error. I tried using both 2.7
and 3.3, and got similar errors each time:
sudo python2.7 get-pip.py
IOError: [Errno 21] Is a directory: '/tmp'
sudo python3.3 get-pip.py
IsADirectoryError: [Errno 21] Is a directory: '/tmp'
This surprises me. Is this a bug in pip?
Here are the full tracebacks:
# Python 2.7 traceback
Exception:
Traceback (most recent call last):
File "/tmp/tmpCYNTpT/pip.zip/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/tmp/tmpCYNTpT/pip.zip/pip/commands/install.py", line 249, in run
with self._build_session(options) as session:
File "/tmp/tmpCYNTpT/pip.zip/pip/basecommand.py", line 72, in
_build_session
insecure_hosts=options.trusted_hosts,
File "/tmp/tmpCYNTpT/pip.zip/pip/download.py", line 321, in __init__
self.headers["User-Agent"] = user_agent()
File "/tmp/tmpCYNTpT/pip.zip/pip/download.py", line 97, in user_agent
zip(["lib", "version"], platform.libc_ver()),
File "/usr/local/lib/python2.7/platform.py", line 163, in libc_ver
f = open(executable,'rb')
IOError: [Errno 21] Is a directory: '/tmp'
Traceback (most recent call last):
File "get-pip.py", line 19154, in <module>
main()
File "get-pip.py", line 194, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 172, in bootstrap
sys.exit(pip.main(["install", "--upgrade"] + args))
File "/tmp/tmpCYNTpT/pip.zip/pip/__init__.py", line 213, in main
File "/tmp/tmpCYNTpT/pip.zip/pip/basecommand.py", line 245, in main
File "/tmp/tmpCYNTpT/pip.zip/pip/basecommand.py", line 72, in
_build_session
File "/tmp/tmpCYNTpT/pip.zip/pip/download.py", line 321, in __init__
File "/tmp/tmpCYNTpT/pip.zip/pip/download.py", line 97, in user_agent
File "/usr/local/lib/python2.7/platform.py", line 163, in libc_ver
f = open(executable,'rb')
IOError: [Errno 21] Is a directory: '/tmp'
# Python 3.3 traceback
Exception:
Traceback (most recent call last):
File "/tmp/tmp75x40t/pip.zip/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/tmp/tmp75x40t/pip.zip/pip/commands/install.py", line 249, in run
with self._build_session(options) as session:
File "/tmp/tmp75x40t/pip.zip/pip/basecommand.py", line 72, in
_build_session
insecure_hosts=options.trusted_hosts,
File "/tmp/tmp75x40t/pip.zip/pip/download.py", line 321, in __init__
self.headers["User-Agent"] = user_agent()
File "/tmp/tmp75x40t/pip.zip/pip/download.py", line 97, in user_agent
zip(["lib", "version"], platform.libc_ver()),
File "/usr/local/lib/python3.3/platform.py", line 162, in libc_ver
f = open(executable,'rb')
IsADirectoryError: [Errno 21] Is a directory: '/tmp'
Traceback (most recent call last):
File "get-pip.py", line 19154, in <module>
main()
File "get-pip.py", line 194, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 172, in bootstrap
sys.exit(pip.main(["install", "--upgrade"] + args))
File "/tmp/tmp75x40t/pip.zip/pip/__init__.py", line 213, in main
File "/tmp/tmp75x40t/pip.zip/pip/basecommand.py", line 245, in main
File "/tmp/tmp75x40t/pip.zip/pip/basecommand.py", line 72, in
_build_session
File "/tmp/tmp75x40t/pip.zip/pip/download.py", line 321, in __init__
File "/tmp/tmp75x40t/pip.zip/pip/download.py", line 97, in user_agent
File "/usr/local/lib/python3.3/platform.py", line 162, in libc_ver
f = open(executable,'rb')
IsADirectoryError: [Errno 21] Is a directory: '/tmp'
--
Steven
More information about the Python-list
mailing list