Instalando nova client: Permiso PIP denegado incluso como root

3

Estoy intentando instalar nova client en OS X 10.12.3

Intenté instalar con sudo pip install python-novaclient .

No quiero acceder al servidor de OpenStack desde 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'
    
pregunta Diamonte 07.02.2017 - 09:05

1 respuesta

4

Según esta respuesta de StackOverflow , sudo pip install es una práctica bastante insegura ya que intenta / permite / intenta modificar el sistema Bibliotecas de Python. En este caso específico, el comando falla porque un script de instalación está intentando modificar el directorio /System/Library/Frameworks/Python.framework , que a partir de macOS 10.11 está protegido por Protección de integridad del sistema . Intente usar un virtualenv .

    
respondido por el Merlin 07.02.2017 - 10:26

Lea otras preguntas en las etiquetas