web-dev-qa-db-ja.com

ピップインストールツイストエラー1

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)
28

Python 3.6.1を新規インストールした新しいvirtualenvのMac OSX 10.11.6でも同じ問題が発生しました。私の場合、古いバージョンのTwisted依存関係incrementalがインストールされていたため、インストールできませんでした。

pip install --upgrade incremental
pip install Twisted

注I:同じインクリメンタルバージョンの要件ファイルからパッケージの配列全体をインストールしていました指定されました。なぜインクリメンタルのアップグレードが助けになったのか本当に疑問に思い、実際に何が間違っていたのか見当もつかない。誰かが明確にできるなら、それは素晴らしいことです。

注II:Twistedの前にインクリメンタルをインストールすることは、新規インストールでも必要なようです[CentOS7を使用する場合に経験]。

注III:この問題は驚くべきTwistedコミュニティに伝えられ、一度 Twistedチケット#9457 が実装され、リリースではこれが質問と私の答えは時代遅れになるはずです。

38
fabianegli

あなたが報告したエラーは不完全です。 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問題に絞り込むことができます。

3

FWIW私はツイストをインストールしようとして同じ偽のエラーを受け取っていました:

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

私の場合、pipを台無しにしていた古代のセットアップツールを誤ってインストールしてしまいました。 python setup.py install zfec 1.4.22 tarballの。

Setuptools(rm -rf /usr/local/lib/python2.7/dist-packages/setuptools-0*)。これにより、pip install twisted動作し、バージョンの指定を許可しました(twisted==18.9.0)。古いsetuptoolsは、状況によっては最新のツイスト19をインストールする原因にもなりました。

0
jamshid