简体   繁体   English

python pip安装失败

[英]python pip install failures

i am trying to install a library pynput using sudo pip install pynput 我试图安装一个库pynput使用sudo PIP安装pynput

but i am getting this error log. 但我收到此错误日志。 This has been happening with any other python package. 任何其他python包都会发生这种情况。 everything used to work fine suddenly these errors are appearing i tried to copy error log from 一切以前工作正常突然出现这些错误我试图从中复制错误日志

~/.pip/pip.log 〜/将该.pip / pip.log

and this is what i have: 这就是我所拥有的:

 Using version 1.4 (newest of versions: 1.4, 1.3.10, 1.3.9, 1.3.8.1, 1.3.7, 1.3.6, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3, 1.2, 1.1.7, 1.1.6, 1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1, 1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0, 0.6, 0.5.1, 0.5, 0.4, 0.3, 0.2)
Cleaning up...
  Removing temporary dir /tmp/pip_build_root...
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1198, in prepare_files
    do_download,
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1376, in unpack_url
    self.session,
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 546, in unpack_http_url
    resp = session.get(target_url, stream=True)
  File "/usr/share/python-wheels/requests-2.2.1-py2.py3-none-any.whl/requests/sessions.py", line 467, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 237, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/usr/share/python-wheels/requests-2.2.1-py2.py3-none-any.whl/requests/sessions.py", line 455, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/share/python-wheels/requests-2.2.1-py2.py3-none-any.whl/requests/sessions.py", line 558, in send
    r = adapter.send(request, **kwargs)
  File "/usr/share/python-wheels/requests-2.2.1-py2.py3-none-any.whl/requests/adapters.py", line 330, in send
    timeout=timeout
  File "/usr/share/python-wheels/urllib3-1.7.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 562, in urlopen
    body=body, headers=headers)
  File "/usr/share/python-wheels/urllib3-1.7.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 387, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python2.7/httplib.py", line 1017, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1051, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 1013, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 864, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 826, in send
    self.connect()
  File "/usr/share/python-wheels/urllib3-1.7.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 145, in connect
    match_hostname(self.sock.getpeercert(),
  File "/usr/share/python-wheels/urllib3-1.7.1-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 313, in getpeercert
    for value in get_subj_alt_name(x509)
  File "/usr/share/python-wheels/urllib3-1.7.1-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 94, in get_subj_alt_name
    asn1Spec=general_names)
  File "/usr/local/lib/python2.7/dist-packages/pyasn1/codec/ber/decoder.py", line 825, in __call__
    stGetValueDecoder, self, substrateFun
  File "/usr/local/lib/python2.7/dist-packages/pyasn1/codec/ber/decoder.py", line 391, in valueDecoder
    r.verifySizeSpec()
  File "/usr/local/lib/python2.7/dist-packages/pyasn1/type/base.py", line 252, in verifySizeSpec
    def verifySizeSpec(self): self._sizeSpec(self)
  File "/usr/local/lib/python2.7/dist-packages/pyasn1/type/constraint.py", line 32, in __call__
    '%s failed at: \"%s\"' % (self, sys.exc_info()[1])
ValueConstraintError: ConstraintsIntersection(ConstraintsIntersection(), ValueSizeConstraint(1, 64)) failed at: "ValueSizeConstraint(1, 64) failed at: "SubjectAltName().setComponents(GeneralName(componentType=NamedTypes(NamedType('otherName', AnotherName(componentType=NamedTypes(NamedType('type-id', ObjectIdentifier('<no value>')), NamedType('value', ...........

A similar issue exists here . 这里存在类似的问题。

The problem seems to be that the PyPI certificate now has more than 64 SAN names on it, breaking the hardcoded maximum in older versions of requests. 问题似乎是PyPI证书现在有超过64个SAN名称,打破了旧版本请求中的硬编码最大值。

Make sure you have recent versions of both the requests and urllib3 modules. 确保您拥有请求和urllib3模块的最新版本。

I got it working by. 我得到了它的工作。 removing requests , urllib manually from 从中删除requestsurllib

/usr/local/lib/python2.7/dist-packages

and reinstalling requests with sudo easy_install requests 并使用sudo easy_install requests重新安装sudo easy_install requests

then sudo easy_install pip==9.0.1 然后sudo easy_install pip==9.0.1

Try updating pip using 尝试使用更新点子

sudo -H pip2 install --upgrade pip

command. 命令。

Below solution worked for me. 下面的解决方案为我工作

  1. Uninstall pip2 卸载pip2
  2. Install pip2 using PyPI (Refer 'Install pip From PyPI' section in https://www.howtodojo.com/2016/03/install-use-pip-ubuntu-14-04/ ) Note: Install from ubuntu repository didn't work in my case. 使用PyPI安装pip2(请参阅https://www.howtodojo.com/2016/03/install-use-pip-ubuntu-14-04/中的 '从PyPI安装pip'部分)注意:从ubuntu存储库安装没有在我的情况下工作。
  3. Then I no longer got ValueConstraintError while installing any module using pip2 (ex: pip2 install invoke) 然后我在使用pip2安装任何模块时不再获得ValueConstraintError(例如:pip2 install invoke)

You need to update pip. 你需要更新点子。 Just enter this command 只需输入此命令即可

curl  https://bootstrap.pypa.io/get-pip.py | sudo python

After update bash -l 更新后bash -l

That's it. 而已。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM