Installazione del client nova: autorizzazione PIP negata anche come root

3

Sto cercando di installare il client nova su OS X 10.12.3

Ho provato a installare con sudo pip install python-novaclient .

Non voglio accedere al server openstack da 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
Exception:
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
    prefix=options.prefix_path,
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 784, in install
    **kwargs
  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
    isolated=self.isolated,
  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
    ensure_dir(destdir)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/__init__.py", line 83, in ensure_dir
    os.makedirs(path)
  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'
    
posta Diamonte 07.02.2017 - 09:05
fonte

1 risposta

4

Come per questa risposta StackOverflow , sudo pip install è una pratica piuttosto rischiosa in quanto tenta / consente / intende modificare il sistema Librerie Python In questo caso specifico, il comando non riesce perché uno script di installazione sta tentando di modificare la directory /System/Library/Frameworks/Python.framework , che a partire da macOS 10.11 è protetta da System Integrity Protection . Prova a utilizzare un virtualenv .

    
risposta data 07.02.2017 - 10:26
fonte

Leggi altre domande sui tag