“/lib/python2.7/site-packages/ 不支持 .pth 文件”在 MacOS 上安装 pip

"/lib/python2.7/site-packages/ does NOT support .pth files" installing pip on MacOS

我 运行 在我的 mac 上使用 pip 遇到了一些问题,并完全卸载了它。

现在,当我尝试重新安装它时,运行ning $sudo easy_install pip 我得到:

TEST FAILED: /lib/python2.7/site-packages/ does NOT support .pth files
error: bad install directory or PYTHONPATH

You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from.  The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /lib/python2.7/site-packages/

and your PYTHONPATH environment variable currently contains:

    ''

[为简洁起见,此粘贴输出被缩短]


我尝试使用 ./profile 和 ./bash_profile 将列出的目录 (/lib/python2.7/site-packages/) 添加到我的 python 路径中,但是当我 运行 python 时,都不会影响 sys.path 变量,它只包括

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/Library/Python/2.7/site-packages
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC

我的问题是我安装了两个版本的python(在列出的两个目录下)吗?

还是我的 python路径被搞砸了,我一直无法补救?


编辑:

$ which python returns /usr/bin/python

$ which easy_installreturns/usr/bin/easy_install

我想通了。

当我尝试通过 brew 安装 python2 时,运行 brew doctor 我收到以下警告。

Warning: A .pydistutils.cfg file was found in $HOME, which may cause Python
builds to fail. See:
  https://bugs.python.org/issue6138
  https://bugs.python.org/issue4655

果然,我删除了。pydistutils.cfg问题就解决了。


FWIW,这是让我开始创建文件的 SO 问题:

Combine --user with --prefix error with setup.py install

(那里的答案确实提到它可能会导致意想不到的后果。我只是认为链接到它可能有助于搜索当前遇到与我遇到的相同问题但忘记了他们创建该文件的任何人的可见性。)

虽然我没有确切的答案,但我可以为您填写一些空白。

您的 sys.path 没有显示安装了两个版本的 Python,它显示了一个根据 Apple 安装的稍微奇怪的方式安装的 Python 2.

/System/Library/Frameworks/Python.framework/Versions/2.7/ 下的目录是您 Python 的库和模块。由于 /System/Library/ 目录在 Mac 上 "protected" 它们无法在 SIP 活动的情况下写入,因此 Apple 提供目录 /Library/Python/2.7/site-packages 这是 Python 包的位置例如 pip 已安装。

在我的系统 sudo /usr/bin/easy_install pip 上安装到 /Library/Python/2.7/site-packages/

因为你的 pip 没有 运行,我建议的下一步是看看你是否可以从标准库中引导它 - sudo python -m ensurepip --default-pip。如果这不起作用,您可以找到有关如何获取它的说明 运行ning here.