自制升级到Python 2.7.10_2会导致软件包失败,并显示“找不到映像" [英] Homebrew upgrade to Python 2.7.10_2 causes packages to fail with 'image not found'

查看:114
本文介绍了自制升级到Python 2.7.10_2会导致软件包失败,并显示“找不到映像"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用以下方法更新Homebrew

Following an update of Homebrew using

brew update
brew upgrade --all

导致将Python更新到2.7.10_2,pip(和许多其他脚本)因

that results in the updating of Python to 2.7.10_2, pip (and many other scripts) fails with

cffi.ffiplatform.VerificationError: importing '/usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_a269d620xd5c405b7.so': dlopen(/usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_a269d620xd5c405b7.so, 2): Library not loaded: /usr/local/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_a269d620xd5c405b7.so
  Reason: image not found

我该怎么做才能恢复或调整我的Python配置,使其再次起作用?自制酒毁了它的原因是什么?

What can I do to restore or adjust my Python configuration so that it works again? What did Homebrew do that destroyed it?

Traceback (most recent call last):
  File "/usr/local/bin/eb", line 7, in <module>
    from ebcli.core.ebcore import main
  File "/usr/local/lib/python2.7/site-packages/ebcli/core/ebcore.py", line 43, in <module>
    from . import globals, base, io, hooks
  File "/usr/local/lib/python2.7/site-packages/ebcli/core/hooks.py", line 20, in <module>
    from ..lib import aws
  File "/usr/local/lib/python2.7/site-packages/ebcli/lib/aws.py", line 19, in <module>
    import botocore.session
  File "/usr/local/lib/python2.7/site-packages/ebcli/bundled/botocore/session.py", line 27, in <module>
    import botocore.credentials
  File "/usr/local/lib/python2.7/site-packages/ebcli/bundled/botocore/credentials.py", line 30, in <module>
    from botocore.utils import InstanceMetadataFetcher, parse_key_val_file
  File "/usr/local/lib/python2.7/site-packages/ebcli/bundled/botocore/utils.py", line 25, in <module>
    from botocore.vendored import requests
  File "/usr/local/lib/python2.7/site-packages/ebcli/bundled/botocore/vendored/requests/__init__.py", line 53, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "/usr/local/lib/python2.7/site-packages/ebcli/bundled/botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.py", line 55, in <module>
    import OpenSSL.SSL
  File "/usr/local/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "/usr/local/lib/python2.7/site-packages/OpenSSL/rand.py", line 11, in <module>
    from OpenSSL._util import (
  File "/usr/local/lib/python2.7/site-packages/OpenSSL/_util.py", line 7, in <module>
    binding = Binding()
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 114, in __init__
    self._ensure_ffi_initialized()
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 126, in _ensure_ffi_initialized
    cls._modules,
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/utils.py", line 31, in load_library_for_binding
    lib = ffi.verifier.load_library()
  File "/usr/local/lib/python2.7/site-packages/cffi/verifier.py", line 97, in load_library
    return self._load_library()
  File "/usr/local/lib/python2.7/site-packages/cffi/verifier.py", line 207, in _load_library
    return self._vengine.load_library()
  File "/usr/local/lib/python2.7/site-packages/cffi/vengine_cpy.py", line 155, in load_library
    raise ffiplatform.VerificationError(error)
cffi.ffiplatform.VerificationError: importing '/usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_a269d620xd5c405b7.so': dlopen(/usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_a269d620xd5c405b7.so, 2): Library not loaded: /usr/local/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_a269d620xd5c405b7.so
  Reason: image not found

OSX 10.10.4;自制0.9.5

OSX 10.10.4; Homebrew 0.9.5

推荐答案

蒂姆·史密斯(Tim Smith)的回答是正确的(他是一位自制软件的维护者!),但没有提供实际的解决方法.解决了这些问题后, https://github.com/Homebrew/homebrew/issues/41613 https://github.com/pyca/cryptography/issues/2138 以下内容应该让您的python/pip再次与openssl一起使用

Tim Smith's answer is correct (he's a homebrew maintainer!) but it didn't provide the actual fix. After combing through these issues https://github.com/Homebrew/homebrew/issues/41613 and https://github.com/pyca/cryptography/issues/2138 the following should get your python/pip working with openssl again

brew link openssl --force
pip uninstall cryptography
pip install cryptography --no-use-wheel
brew unlink openssl

第一个链接可临时修复点子.密码学是需要重建的库.最后再次取消链接openssl.

The first link fixes pip temporarily. Cryptography is the library that needs to be rebuilt. And finally unlinking openssl again.

这篇关于自制升级到Python 2.7.10_2会导致软件包失败,并显示“找不到映像"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆