从python导入请求时的TypeError

时间:2018-03-27 09:56:08

标签: python python-requests typeerror

我在使用请求库时遇到问题。我使用pip来安装它,我也通过github安装,安装就好了。但是当我尝试导入lib时,我收到了这个错误:

Python 2.7.14+ (default, Mar 13 2018, 15:23:44) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 95, in <module>
    from urllib3.contrib import pyopenssl
  File "/usr/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py", line 46, in <module>
    import OpenSSL.SSL
  File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
  File "/usr/lib/python2.7/dist-packages/OpenSSL/crypto.py", line 12, in <module>
    from cryptography import x509
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/__init__.py", line 8, in <module>
    from cryptography.x509.base import (
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/base.py", line 16, in <module>
    from cryptography.x509.extensions import Extension, ExtensionType
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/extensions.py", line 24, in <module>
    from cryptography.x509.general_name import GeneralName, IPAddress, OtherName
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/general_name.py", line 18, in <module>
    from cryptography.x509.name import Name
  File "/usr/lib/python2.7/dist-packages/cryptography/x509/name.py", line 28, in <module>
    _ASN1_TYPE_TO_ENUM = dict((i.value, i) for i in _ASN1Type)
TypeError: 'type' object is not iterable
>>> 

我在另一篇帖子中看到一个人讲了一些关于PATH的内容,但我不明白......与/ usr / bin和/ usr / local / bin之间的冲突有关。我不知道这是否与它有关。 我也使用pip2.7来安装lib,它显示在pip list命令中。我很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

问题出在加密模块中。它也可以在github page找到。解决方案似乎是您需要替换枚举包:

pip uninstall enum
pip install enum34

请注意,如果您使用sudo pip

中的软件包,则需要使用/usr/