当前位置: 代码迷 >> python >> 无法使用 OS X El Capitan pip 安装任何东西
  详细解决方案

无法使用 OS X El Capitan pip 安装任何东西

热度:93   发布时间:2023-06-14 08:57:20.0

我正在尝试在 OS X El Capitan 上pip install virtualenv (和其他任何东西)并收到以下错误:

Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 211, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 311, in run
    root=options.root_path,
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 646, in install
    **kwargs
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 803, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 998, in move_wheel_files
    isolated=self.isolated,
  File "/usr/local/lib/python2.7/site-packages/pip/wheel.py", line 339, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/local/lib/python2.7/site-packages/pip/wheel.py", line 282, in clobber
    ensure_dir(dest)  # common for the 'include' path
  File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 71, in ensure_dir
    os.makedirs(path)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 1] Operation not permitted: '/usr/lib/python2.7/site-packages'

看起来pip正在尝试写入'/usr/lib/python2.7/site-packages' ,但由于 El Capitan 中的 SIP,它被拒绝了。 但我想知道为什么pip需要写在那里? 我怎样才能解决这个问题?

我跑了brew doctor这给

Your system is ready to brew.

所以我觉得没问题。

我试过brew reinstall python ,它给出了一个奇怪的错误:

==> Reinstalling python
Error: /usr/local/opt/python is not a valid keg

which python给出

/usr/local/bin/python

所以系统中的哪个地方有这个让pip失败的奇怪东西

更新:

看起来我的pip指向系统 python 而不是 brewed python。 我将 pip 的第一行更改为

#!/usr/local/bin/python

问题解决了

您可能需要brew link python ,或unlink然后link以使事物指向正确的位置。