7

我觉得我的点子坏了。我已经尝试了从强制重新安装到更新所有内容的所有方法,但似乎没有任何效果。

当我这样做时,pip2 -v我得到以下信息:

Traceback (most recent call last):
  File "/usr/local/bin/pip2", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3144, in <module>
    @_call_aside
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3128, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3157, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 666, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 984, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 870, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pip==9.0.1' distribution was not found and is required by the application

当我这样做时,pip -v我得到以下信息:

Traceback (most recent call last):
  File "/bin/pip", line 7, in <module>
    from pip._internal import main
ImportError: No module named pip._internal

仅供参考:我正在Mac OSX使用Python 2.7.14

请帮忙!!

4

2 回答 2

12

由于您使用的是 macOS,因此您的计算机已经安装了 Apple 预装的 Python 2.7。如果您使用的是 macOS 10.13,则为 2.7.10;旧版本当然有旧版本。

同时,您已经安装了 Python 2.7.14。你没有告诉我们如何——python.org 安装程序、Anaconda、Homebrew 等等——但没关系。

问题是 Apple Python 2.7.10 仍然是你的“主要” 2.7,所以你最终得到了一个pip9.0.1,它为你的 2.7.14 安装了它的包,但认为它应该与 Apple 2.7.10 一起运行反而。这就是它查找的原因/usr/local/lib/python2.7/site-packages,这是 Apple 2.7.10 的站点包,而不是您的 2.7.14。而且您要么没有pipApple 2.7.10,要么拥有旧版本。因此错误。


处理多个 Python 安装(尤其是同一版本的多个安装)时令人头疼的问题是Python 打包用户指南建议您:

  • 用于python -m pip运行pip
  • 尽可能使用虚拟环境。

我不知道您通常如何确保您运行的是 2.7.14 而不是 Apple 的 2.7.10,但是无论您运行什么命令,如果您对 a 执行相同的操作-m pip,则保证使用您的 2.7.14 而不是苹果的 2.7.10。例如,如果您通常键入python2,请使用python2 -m pip代替pip2

同时,如果您激活一个虚拟环境,无论您碰巧安装了什么以及您的整个系统设置有多么混乱,两者pythonpip(以及其他类似的东西2to3)都将成为该环境的版本。

于 2018-07-18T01:18:48.580 回答
2

刚刚在我的 Mac 上遇到了同样的问题,我通过

$ brew upgrade python@2

上面的命令本质上是把 Apple 的 python 2.7.10 还给你。

$ which python
/usr/bin/python
$ python -V
Python 2.7.10

Pip 立即工作,可以升级到 19.0.1

pip --version
pip 18.1 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
pip install --upgrade pip setuptools
pip --version
pip 19.0.1 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)

这里是brew upgrade python@2关于 mac 上的 python 必须要说的

==> python@2
Pip and setuptools have been installed. To update them
  pip install --upgrade pip setuptools

You can install Python packages with
  pip install <package>

They will install into the site-package directory
  /usr/local/lib/python2.7/site-packages

See: https://docs.brew.sh/Homebrew-and-Python
于 2019-01-24T05:22:12.410 回答