python - 导入错误没有名为 zlib 的模块(brew 安装了 python)

标签 python linux pip homebrew

当我在安装了 brew 的 python 2.7 版本上使用 pip freeze 时,出现导入错误,没有名为 zlib 的模块。

➜  ~  pip freeze
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 9, in <module>
    load_entry_point('pip==7.1.2', 'console_scripts', 'pip')()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 558, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2682, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2355, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2361, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/local/lib/python2.7/site-packages/pip/__init__.py", line 15, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/local/lib/python2.7/site-packages/pip/vcs/mercurial.py", line 10, in <module>
    from pip.download import path_to_url
  File "/usr/local/lib/python2.7/site-packages/pip/download.py", line 38, in <module>
    from pip._vendor import requests, six
  File "/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/__init__.py", line 58, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/utils.py", line 26, in <module>
    from .compat import parse_http_list as _parse_list_header
  File "/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/compat.py", line 7, in <module>
    from .packages import chardet
  File "/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/__init__.py", line 3, in <module>
    from . import urllib3
  File "/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/__init__.py", line 10, in <module>
    from .connectionpool import (
  File "/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/connectionpool.py", line 38, in <module>
    from .response import HTTPResponse
  File "/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/response.py", line 5, in <module>
    import zlib
ImportError: No module named lib

我认为这通常是用 python 安装的,但我已经用 brew 安装了 python (2.7),卸载并用 brew 重新安装不能解决问题?

➜  ~  which pip
/usr/local/bin/pip
➜  ~  which python
/usr/local/bin/python

最佳答案

对于安装了 Xcode-beta 的 macOs 10.14 mojave 用户,以下应该可以工作,因为 xcode-select --install 似乎没有提供缺少的头文件,至少不在可用的位置通过 brew 安装 python...

对我有用的是:

brew install zlib
brew link zlib --force

#python 3
brew (re)install python3
brew postinstall python3
brew link python3 #just in case...

#python 2
brew (re)install python2
brew link python2 #just in case...

在我的例子中,我还必须重新安装之前通过 pip 安装的一些 python 模块。

关于python - 导入错误没有名为 zlib 的模块(brew 安装了 python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32630253/

相关文章:

python - 在 Django 中,我可以排除 ModelForm 子类中的字段吗?

python - 如何编写数组值的匹配条件?

python - 海上距离计算器,中间坐标?

python - 用户数据的基本 for 循环问题

python - 如何从 CMD 运行 Pip 命令

linux - 如何将退出状态从 Expect 传播到其父 Bash 脚本?

django - Elastic Beanstalk 无法更新本地 Git 配置

linux - 将 Linux x86-64 程序集 hello world 程序与 ld 链接失败

pip - 如何在 pypy 上安装 scikit-learn 包?

python - requirements.txt 文件中 `=` 后面的值是什么意思?