Pip Install Twisted Error 1
Pip Install Twisted Error 1
在Mac osx 10.9.4的虚拟环境中使用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 "", line 1, in File "/private/var/folders/9r/3b500gbs3093ms87mqqbckr80000gn/T/pip-build-lqvxc68n/twisted/setup.py", line 21, in 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)
你所报告的错误是不完整的。在pip
输出的上方几乎肯定还有更多的细节。如果将它们编辑到你的问题中,那会很有帮助。
类似问题的调查:
- Python pip install gives "Command "python setup.py egg_info" failed with error code 1"
- Can't install via pip because of egg_info error
- Python pip install fails: invalid command egg_info
- https://github.com/donnemartin/gitsome/issues/4
提示:
- 你缺少setuptools。在虚拟环境中(你有激活虚拟环境,对吗?)似乎不太可能出现这种情况。
- 你缺少C工具链的一部分——编译器、某些必要的头文件等。Twisted包含C扩展,因此这种可能性是存在的。你有C工具链吗?
- 你使用了不兼容的Python版本。你使用的是哪个版本的Python?
但你包含的其他证书验证失败错误表明这不是由这些原因引起的。相反,因为pip无法与需要从PyPI服务器下载依赖项的服务器进行TLS握手,所以依赖项无法下载。
这可能由许多不同的问题引起。你系统的浏览器能够加载https://pypi.python.org/
吗?如果不能,那么可能有一些系统-wide的问题:你可能有过时的证书授权证书,或者可能有中间人攻击正在进行。
openssl s_client
有时会对调试这些问题有用。尝试:
openssl s_client -showcerts -connect pypi.python.org:443
这可能会给你更多关于TLS层发生的情况的细节。如果openssl s_client
也无法验证证书,那么你知道有一些系统-wide的问题。否则,我们可以将它缩小到pip或Python问题。
在我的Mac OSX 10.11.6新虚拟环境中,使用Python3.6.1的最新安装版,我遇到了相同的问题。在我的情况下,旧版本的Twisted依赖 incremental 已经安装,这阻止了安装。
pip install --upgrade incremental pip install Twisted
注1:我正在使用一个要求文件安装各种包,其中指定了相同版本的 incremental。我真的很想知道为什么 incremental 的升级有所帮助,不知道究竟出了什么问题。如果有人能够澄清这一点,那就太棒了。
注2:在新安装中,安装Twisted之前安装 incremental 似乎也是必要的 [在CentOS7上的工作中经历过]。
注3:这个问题已经传达给了令人惊叹的 Twisted 社区,一旦Twisted ticket # 9457被实施并在版本中发布,这个问题和我的回答应该就会过时。