简体   繁体   English

Pip安装扭曲错误1

[英]Pip Install Twisted Error 1

When using pip install Twisted in virtualenv on Mac osx 10.9.4, I get this result: 在Mac osx 10.9.4上使用pip install Twisted in virtualenv时,我得到了这个结果:

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

I am not sure how to resolve. 我不知道该如何解决。 I used easy_install, but I get a SSL verification issue. 我使用了easy_install,但是我遇到了SSL验证问题。 Anyone have similar issue? 有人有类似的问题吗? The rest of error message is below. 其余的错误消息如下。

 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/

Running openssl s_client -showcerts -connect pypi.python.org:443 returns the following: 运行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)

I had the same issue on a Mac OSX 10.11.6 in a new virtualenv with a fresh install of Python3.6.1. 我在Mac OSX 10.11.6上使用全新安装的Python3.6.1在新的virtualenv中遇到了同样的问题。 In my case, I had old versions of the Twisted dependency incremental installed, which prevented the installation. 在我的情况下,我安装了旧版本的Twisted依赖增量 ,这阻止了安装。

pip install --upgrade incremental
pip install Twisted

Note I: I was installing a whole array of packages from a requirements file where the same incremental version was specified. 注意I:我从需求文件中安装了一整套软件包,其中指定了相同的增量版本。 I really wonder why the upgrade of incremental helped and have no clue what actually went wrong. 我真的很想知道为什么增量的升级有助于并且不知道究竟出了什么问题。 If someone can clarify, that would be great. 如果有人能澄清,那就太好了。

Note II: Installing incremental ahead of of Twisted seems to be necessary on fresh installs, too [Experienced when working with CentOS7]. 注意II:在新安装时,在Twisted之前安装增量似乎也是必要的[使用CentOS7时经验丰富]。

Note III: The issue was communicated to the amazing Twisted community and once Twisted ticket #9457 is implemented and in the release this question and my answer should become obsolete. 注意三:问题已经传达给了惊人的Twisted社区,一旦实施了扭曲的机票#9457 ,在发布这个问题时我的答案应该过时了。

The error you reported is incomplete. 您报告的错误不完整。 There are almost certainly more details above it in the pip output. pip输出中几乎肯定有更多细节。 It would help if edit them into your question. 如果将它们编辑到您的问题中会有所帮助。

A survey of similar questions: 对类似问题的调查:

Suggests that: 表明:

  • You're missing setuptools. 你缺少setuptools。 Inside a virtualenv (you did activate your virtualenv, right?) this seems implausible. 在virtualenv里面(你确实激活了你的virtualenv,对吗?)这似乎难以置信。
  • You're missing part of the C toolchain - a compiler, some necessary headers, etc. Twisted includes C extensions so this seems possible. 你缺少C工具链的一部分 - 一个编译器,一些必要的标题等.Twisted包含C扩展,所以这似乎是可能的。 Do you have a C toolchain? 你有C工具链吗?
  • You're using an incompatible version of Python. 您正在使用不兼容的Python版本。 What version of Python are you using? 您使用的是哪个版本的Python?

But the additional certificate verification failure errors you've included suggest it's not caused by any of these. 但是,您包含的其他证书验证失败错误表明它不是由任何这些引起的。 Instead, a dependency cannot be downloaded because pip can't do a TLS handshake with the PyPI server it needs to download the dependency from. 相反,无法下载依赖项,因为pip无法与从中下载依赖项所需的PyPI服务器进行TLS握手。

This could be caused by many different things. 这可能是由许多不同的事情引起的。 Can your system's browsers load https://pypi.python.org/ ? 您的系统的浏览器可以加载https://pypi.python.org/吗? If not, perhaps there's something wrong system-wide: you might have outdated certificate authority certificates or there might be a man-in-the-middle attack taking place. 如果没有,也许系统范围内出现了问题:您可能已经过时了证书颁发机构证书,或者可能发生了中间人攻击。

openssl s_client can sometimes be useful for debugging issues like these. openssl s_client有时可用于调试这些问题。 Try: 尝试:

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

This may give you more details about what's happening at the TLS layer. 这可能会为您提供有关TLS层发生的更多详细信息。 If openssl s_client also has trouble verifying the certificate, you know there's something wrong system-wide. 如果openssl s_client也无法验证证书,那么您知道系统范围内存在问题。 If not, we can narrow it down to a pip or Python problem. 如果没有,我们可以将其缩小到一个点或Python问题。

FWIW I was getting the same bogus error trying to install twisted: FWIW我在尝试安装twis​​ted时遇到同样的错误:

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

In my case I had accidentally installed an ancient setuptools that was messing up pip . 在我的情况下,我不小心安装了一个古老的设置工具,搞乱了pip It came from a python setup.py install of a zfec 1.4.22 tarball. 它来自zfec 1.4.22 tarball的python setup.py install

I fixed this by removing that setuptools ( rm -rf /usr/local/lib/python2.7/dist-packages/setuptools-0* ). 我通过删除setuptools来解决这个问题( rm -rf /usr/local/lib/python2.7/dist-packages/setuptools-0* )。 This allowed the pip install twisted to work and allowed me to specify a version ( twisted==18.9.0 ). 这允许pip install twisted工作,并允许我指定一个版本( twisted==18.9.0 )。 The old setuptools was also causing latest twisted 19 to be installed in some situations. 旧的setuptools也导致在某些情况下安装最新的twisted 19。

Try upgrading pip packages. 尝试升级pip包。

sudo pip install --upgrade pip

and Twisted has two required dependencies: 和Twisted有两个必需的依赖项:

Installing a C compiler Since installing Twisted from source involves compiling C code, on OS X or Windows you'll need to install a C compiler before you can install Twisted. 安装C编译器由于从源代码安装Twisted涉及编译C代码,因此在OS X或Windows上,您需要安装C编译器才能安装Twisted。

Installing zope.interface When installing from source, before you can use Twisted, you'll also need to install zope.interface, which you can download from the Twisted home page. 安装zope.interface从源代码安装时,在使用Twisted之前,还需要安装zope.interface,可以从Twisted主页下载。

And install it with your steps or follow this link 并按照您的步骤安装或按照此链接

I had a similar problem when installing Twisted on my MacBook, after trying many different ways, I successfully install Twisted using conda. 我在MacBook上安装Twisted时遇到了类似的问题,在尝试了很多不同的方法之后,我成功地使用conda安装了Twisted。

You can try it, using either Anaconda or miniconda. 你可以尝试使用Anaconda或miniconda。

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

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

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

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