【问题标题】:How do I install a missing Python dependency that is already a system package (and detected by pip install)?如何安装缺少的 Python 依赖项,该依赖项已经是系统包(并由 pip install 检测到)?
【发布时间】:2016-11-24 00:11:33
【问题描述】:

我用 Homebrew 安装了 Python/pip,然后用 pip 安装了 Pandas。但是,当我导入 Pandas 时,它说缺少依赖项“pytz”。

所以我跑了

pip install pytz

但它认为它已经存在

Requirement already satisfied: pytz in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python

删除 pytz 不起作用,当我运行 pip uninstall pytz 时,出现权限错误。我该如何处理?

【问题讨论】:

  • 使用 Python 虚拟环境并将软件包安装到其中。我已经在blog.dscpl.com.au/2016/01/… 中发布了您不应该依赖系统 Python 的一些原因,您遇到了相关问题。忽略那篇关于 Docker 的帖子,它仍然是相关的。
  • @GrahamDumpleton 我将虚拟环境用于独立项目。但是,我正在尝试安装 Rodeo yhat.com/products/rodeo,它使用 $PATH 中的任何 Python。这意味着需要为 System python(或 $PATH 中的任何一个)安装 Rodeo 的依赖项。这种情况我该怎么办?
  • 问题是pytz是作为操作系统Python的一部分提供的。您无法在不破坏操作系统中需要它的任何内容的情况下卸载它。您能否澄清在安装numpypytz 时使用了which pip。如果您从 Homebrew 运行 pip,它不应该查看系统 Python 包。
  • @GrahamDumpleton 我认为这是我的问题。 which pip 产生 /usr/local/bin/pip,我相信它是由 Homebrew 安装的。然而pip install pytz 导致Requirement already satisfied: pytz in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python。 :-|

标签: macos python-2.7 homebrew


【解决方案1】:

对于那些感兴趣的人:我再次使用 brew 重新安装了 python/pip 并使其正常工作。即使 Python 和 pip 位于正确的目录 (/usr/local/bin) 中,Pip 仍在 /System 中寻找依赖项。重新安装后,Pip 停止查看/System

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-21
    • 2013-11-20
    • 2018-06-18
    • 2019-01-24
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2019-12-23
    相关资源
    最近更新 更多