Python pip 损坏 - 安装 Pelican

Python pip broken - installing Pelican

我正在尝试使用 pip install pelican 为 python 安装 Pelican,但出现这些错误。我使用 Python 2.7.9 与 Mac OSX

捆绑在一起
Exception:
    Traceback (most recent call last):
      File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg    >/pip/basecommand.py", line 211, in main
        status = self.run(options, args)
      File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg
/pip/commands    /install.py", line 311, in run
    root=options.root_path,
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req
/req_set.py", line 646, in install
    **kwargs
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req
/req_install.py", line 803, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req
/req_install.py", line 998, in move_wheel_files
    isolated=self.isolated,
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/wheel.py", 
line 339, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/wheel.py", >line 310, in clobber
    ensure_dir(destdir)
  File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/utils
/__init__.py", line 71, 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/pelican'
Evens-MacBook-Pro:~ even$ 

发生该错误是因为 没有在系统 目录上写入的权限。因此 OSError: [Errno 13] Permission denied.

如果你想在系统范围内安装它,你必须 运行 pip 具有超级用户权限才能获得权限:

sudo pip install pelican

不过,这不是必需的——也不是一个好的做法——例如,如果您要在 virtualenv.

中安装

@pherris 指出的 this answer 中提到的另一种可能性是将 --user 标志附加到 pip 命令。这只会将软件包安装到当前用户:

pip install pelican --user

修改 Python(或 Ruby,或 Perl...)的系统级安装会变得一团糟,过去我在那里的工作被系统破坏了更新。 Apple 并不真正保证 OS 更新后您的本地更改会得到保留。

您最好使用 Homebrew 之类的东西安装您自己的版本,它会安装到 /usr/local.

Homebrew 有 Python 2.x 和 3.x 可用(它们可以很好地共存)。它比 Apple 更好地跟上新版本的发布。 Homebrew 还有许多其他 Unix 东西,你可能觉得有用也可能没用。

安装 Homebrew 后,安装 Python 很简单:

brew install python
brew install python3

确保 /usr/local/bin 早于 $PATH。它还为您提供 pippip3 来为 2.x 和 3.x 安装 Python 软件包。

您的普通用户无法安装到 system-wide Python 包目录。不要使用 sudo,而是在本地为您的用户帐户安装软件包:

pip install --user pelican