Pip安装扭曲错误1

时间:2017-02-09 06:32:02

标签: python macos openssl pip osx-mavericks

在Mac osx 10.9.4上使用virtualenv中的pip install Twisted时,我得到了这个结果:

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/9r/3b500gbs3093ms87mqqbckr80000gn/T/pip-build-doynftp7/twisted/

我不知道如何解决。我使用了easy_install,但是我遇到了SSL验证问题。有人有类似的问题吗?其余的错误消息如下。

 Collecting twisted
 Using cached Twisted-16.6.0.tar.bz2
 Complete output from command python setup.py egg_info:
Download error on https://pypi.python.org/simple/incremental/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
Couldn't find index page for 'incremental' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
No local packages or working download links found for incremental>=16.10.1
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/9r/3b500gbs3093ms87mqqbckr80000gn/T/pip-build-lqvxc68n/twisted/setup.py", line 21, in <module>
    setuptools.setup(**_setup["getSetupArgs"]())
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/setuptools/dist.py", line 317, in __init__
    self.fetch_build_eggs(attrs['setup_requires'])
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/setuptools/dist.py", line 372, in fetch_build_eggs
    replace_conflicting=True,
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/pkg_resources/__init__.py", line 851, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1123, in best_match
    return self.obtain(req, installer)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1135, in obtain
    return installer(requirement)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/setuptools/dist.py", line 440, in fetch_build_egg
    return cmd.easy_install(req)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 668, in easy_install
    raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('incremental>=16.10.1')
 ----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/9r/3b500gbs3093ms87mqqbckr80000gn/T/pip-build-lqvxc68n/twisted/

运行openssl s_client -showcerts -connect pypi.python.org:443 会返回以下内容:

 CONNECTED(00000003)
 depth=1 /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended     Validation Server CA
 verify error:num=20:unable to get local issuer certificate
 verify return:0
 ---
 Certificate chain
  0 s:/businessCategory=Private Organization/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/serialNumber=3359300/street=16 Allen    Rd/postalCode=03894-4801/C=US/ST=NH/L=Wolfeboro/O=Python Software Foundation/CN=www.python.org
  i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
  -----BEGIN CERTIFICATE-----
  MIIIWjCCB0KgAwIBAgIQCXCW7BLw16II/CMOsOFe/jANBgkqhkiG9w0BAQsFADB1
  ..
 -----END CERTIFICATE-----
 1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
 i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
 -----BEGIN CERTIFICATE-----
MIIEtjCCA56gAwIBAgIQDHmpRLCMEZUgkmFf4msdgzANBgkqhkiG9w0BAQsFADBs
....
-----END CERTIFICATE-----
 Server certificate
 subject=/businessCategory=Private Organization/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/serialNumber=3359300/street=16 Allen Rd/postalCode=03894-4801/C=US/ST=NH/L=Wolfeboro/O=Python Software Foundation/CN=www.python.org
issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended  Validation Server CA
---
No client certificate CA names sent
---
SSL handshake has read 3524 bytes and written 456 bytes
---
New, TLSv1/SSLv3, Cipher is AES128-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol  : TLSv1
Cipher    : AES128-SHA
Session-ID: BC7695FF86D2B82B20468A13E3F3E13AE23776B500E64665305EEBAF49BB54D1
Session-ID-ctx: 
Master-Key:8D25B34237A3C74E90317D87BA74A2AAF0E8C424FB2ADE3D72E5F234D5E043C4527641290B928B3A22 1BE7D44116CFB1
Key-Arg   : None
Start Time: 1487035770
Timeout   : 300 (sec)
Verify return code: 0 (ok)

5 个答案:

答案 0 :(得分:35)

我在Mac OSX 10.11.6上使用全新安装的Python3.6.1在新的virtualenv中遇到了同样的问题。就我而言,我安装了旧版本的Twisted依赖 incremental ,这阻止了安装。

pip install --upgrade incremental
pip install Twisted

注意I:我正在从需求文件中安装一整套软件包,其中指定了相同的增量版本。我真的很想知道为什么增量的升级有助于并且不知道究竟出了什么问题。如果有人能澄清,那就太好了。

注意事项II:在全新安装上也需要在Twisted之前安装增量[在使用CentOS7时经验丰富]。

注意III:这个问题已经传达给了惊人的Twisted社区,一旦Twisted ticket #9457被实施,在发布时这个问题和我的回答应该过时了。

答案 1 :(得分:2)

您报告的错误不完整。 pip输出中几乎肯定有更多细节。如果将它们编辑到您的问题中会有所帮助。

对类似问题的调查:

建议:

  • 你缺少setuptools。在virtualenv中(你确实激活了你的virtualenv,对吗?)这似乎难以置信。
  • 你错过了C工具链的一部分 - 一个编译器,一些必要的标题等.Twisted包含C扩展,所以这似乎是可能的。你有C工具链吗?
  • 您正在使用不兼容的Python版本。您使用的是哪个版本的Python?

但是您添加的其他证书验证失败错误表明它不是由其中任何一个引起的。相反,无法下载依赖项,因为pip无法与从中下载依赖项所需的PyPI服务器进行TLS握手。

这可能是由许多不同的事情造成的。您的系统的浏览器可以加载https://pypi.python.org/吗?如果没有,也许整个系统都出现了问题:你可能有过时的证书颁发机构证书,或者可能发生了中间人攻击。

openssl s_client有时可用于调试此类问题。尝试:

openssl s_client -showcerts -connect pypi.python.org:443

这可能会为您提供有关TLS层发生的更多详细信息。如果openssl s_client也无法验证证书,您知道系统范围内存在问题。如果没有,我们可以将其缩小到一个点或Python问题。

答案 2 :(得分:0)

FWIW我在尝试安装扭曲版时遇到了同样的虚假错误:

distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('incremental>=16.10.1')

就我而言,我不小心安装了一个古老的setuptools,弄乱了pip。它来自python setup.py install的zfec 1.4.22压缩包。

我通过删除该设置工具(rm -rf /usr/local/lib/python2.7/dist-packages/setuptools-0*)来解决此问题。这使pip install twisted可以正常工作,并允许我指定一个版本(twisted==18.9.0)。在某些情况下,旧的setuptools还导致安装了最新的Twisted 19。

答案 3 :(得分:-1)

尝试升级pip包。

sudo pip install --upgrade pip

和Twisted有两个必需的依赖项:

安装C编译器 由于从源代码安装Twisted涉及编译C代码,因此在OS X或Windows上,您需要安装C编译器才能安装Twisted。

安装zope.interface 从源代码安装时,在使用Twisted之前,您还需要安装zope.interface,您可以从Twisted主页下载。

按照您的步骤安装或按照link

进行操作

答案 4 :(得分:-2)

在我的MacBook上安装Twisted时出现了类似的问题,在尝试了很多不同的方法后,我使用conda成功安装了Twisted。

你可以尝试使用Anaconda或miniconda。

https://conda.io/docs/download.html

https://stackoverflow.com/a/20994790/1294704

相关问题