I'm trying to install nova client on OS X 10.12.3

I tried to install with sudo pip install python-novaclient.

I wan't to access openstack server from OS X

Installing collected packages: requests, six, PrettyTable, Babel, oslo.i18n, iso8601, funcsigs, pyparsing, monotonic, netifaces, netaddr, wrapt, debtcollector, oslo.utils, simplejson, msgpack-python, oslo.serialization, positional, stevedore, keystoneauth1, python-novaclient
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 784, in install
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 1064, in move_wheel_files
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/wheel.py", line 316, in clobber
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/__init__.py", line 83, in ensure_dir
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/requests'
  • Interesting that it's saying "Permission denied" even when executing as superuser. Just to be sure, can you run ls -l /Library/Python/2.7/ and tell me what it reports back? There's definitely something funny with permissions here, but I'm not sure what. – JMY1000 Feb 7 '17 at 8:50

As per this StackOverflow answer, sudo pip install is a rather unsafe practice in that it attempts/allows/intends to modify system Python libraries. In this specific case, the command fails because an install script is attempting to modify the /System/Library/Frameworks/Python.framework directory, which as of macOS 10.11 is guarded by System Integrity Protection. Try using a virtualenv.

  • Virtualenv did the trick, everything works now smooth and I just used nova and neutron with it without problems. – Diamonte Feb 7 '17 at 10:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .