web-dev-qa-db-ja.com

pip3でSSLを機能させる方法は?

Python 3.6.5はソースから構築され、Python 2.7.5とともにインストールされます。

pythonはpythonターミナルを開きますが、pipはSSLエラーのあるパッケージのインストールに失敗します。

[root@servername openssl-OpenSSL_1_1_1-pre5]# pip3 install flask
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting flask
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/flask/
  Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/flask/
  Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/flask/
  Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/flask/
  Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/flask/
  Could not fetch URL https://pypi.python.org/simple/flask/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(Host='pypi.python.org', port=443): Max retries exceeded with url: /simple/flask/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)) - skipping
  Could not find a version that satisfies the requirement flask (from versions: )
No matching distribution found for flask

SSLモジュールがpython3にインストールされていないことが確認されています。ただし、SSLはpython2でうまく機能します。 python2が使用するSSLの場所を参照するようにpython3を構成することは可能ですか?

また、openssl-develをインストールすることをお勧めします。それをインストールすると、次の依存関係の問題が検出されます。

Python3でSSLを機能させるための提案は役に立ちます。

[root@servername openssl-OpenSSL_1_1_1-pre5]# yum install openssl-devel
Loaded plugins: langpacks, rhnplugin, search-disabled-repos
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package openssl-devel.x86_64 1:1.0.1e-42.el7_1.4 will be installed
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-42.el7_1.4 for package: 1:openssl-devel-1.0.1e-42.el7_1.4.x86_64
--> Processing Dependency: krb5-devel(x86-64) for package: 1:openssl-devel-1.0.1e-42.el7_1.4.x86_64
--> Running transaction check
---> Package krb5-devel.x86_64 0:1.12.2-14.el7 will be installed
--> Processing Dependency: krb5-libs(x86-64) = 1.12.2-14.el7 for package: krb5-devel-1.12.2-14.el7.x86_64
--> Processing Dependency: libverto-devel for package: krb5-devel-1.12.2-14.el7.x86_64
--> Processing Dependency: libcom_err-devel for package: krb5-devel-1.12.2-14.el7.x86_64
--> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.12.2-14.el7.x86_64
--> Processing Dependency: libselinux-devel for package: krb5-devel-1.12.2-14.el7.x86_64
--> Processing Dependency: libkdb5.so.7()(64bit) for package: krb5-devel-1.12.2-14.el7.x86_64
---> Package openssl-devel.x86_64 1:1.0.1e-42.el7_1.4 will be installed
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-42.el7_1.4 for package: 1:openssl-devel-1.0.1e-42.el7_1.4.x86_64
--> Running transaction check
---> Package keyutils-libs-devel.x86_64 0:1.5.8-3.el7 will be installed
---> Package krb5-devel.x86_64 0:1.12.2-14.el7 will be installed
--> Processing Dependency: krb5-libs(x86-64) = 1.12.2-14.el7 for package: krb5-devel-1.12.2-14.el7.x86_64
--> Processing Dependency: libkdb5.so.7()(64bit) for package: krb5-devel-1.12.2-14.el7.x86_64
---> Package libcom_err-devel.x86_64 0:1.42.9-7.el7 will be installed
---> Package libselinux-devel.x86_64 0:2.2.2-6.el7 will be installed
--> Processing Dependency: libsepol-devel >= 2.1.9-1 for package: libselinux-devel-2.2.2-6.el7.x86_64
--> Processing Dependency: pkgconfig(libpcre) for package: libselinux-devel-2.2.2-6.el7.x86_64
--> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.2.2-6.el7.x86_64
---> Package libverto-devel.x86_64 0:0.2.5-4.el7 will be installed
---> Package openssl-devel.x86_64 1:1.0.1e-42.el7_1.4 will be installed
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-42.el7_1.4 for package: 1:openssl-devel-1.0.1e-42.el7_1.4.x86_64
--> Running transaction check
---> Package krb5-devel.x86_64 0:1.12.2-14.el7 will be installed
--> Processing Dependency: krb5-libs(x86-64) = 1.12.2-14.el7 for package: krb5-devel-1.12.2-14.el7.x86_64
--> Processing Dependency: libkdb5.so.7()(64bit) for package: krb5-devel-1.12.2-14.el7.x86_64
---> Package libsepol-devel.x86_64 0:2.1.9-3.el7 will be installed
---> Package openssl-devel.x86_64 1:1.0.1e-42.el7_1.4 will be installed
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-42.el7_1.4 for package: 1:openssl-devel-1.0.1e-42.el7_1.4.x86_64
---> Package pcre-devel.x86_64 0:8.32-14.el7 will be installed
--> Processing Dependency: pcre(x86-64) = 8.32-14.el7 for package: pcre-devel-8.32-14.el7.x86_64
--> Finished Dependency Resolution
Error: Package: 1:openssl-devel-1.0.1e-42.el7_1.4.x86_64 (cat-rhel71_x86_64)
           Requires: openssl-libs(x86-64) = 1:1.0.1e-42.el7_1.4
           Installed: 1:openssl-libs-1.0.1e-51.el7_2.5.x86_64 (@rhel-x86_64-server-7)
               openssl-libs(x86-64) = 1:1.0.1e-51.el7_2.5
           Available: 1:openssl-libs-1.0.1e-34.el7.x86_64 (cat-rhel71_x86_64)
               openssl-libs(x86-64) = 1:1.0.1e-34.el7
           Available: 1:openssl-libs-1.0.1e-34.el7_0.3.x86_64 (cat-rhel71_x86_64)
               openssl-libs(x86-64) = 1:1.0.1e-34.el7_0.3
           Available: 1:openssl-libs-1.0.1e-34.el7_0.4.x86_64 (cat-rhel71_x86_64)
               openssl-libs(x86-64) = 1:1.0.1e-34.el7_0.4
           Available: 1:openssl-libs-1.0.1e-34.el7_0.6.x86_64 (cat-rhel71_x86_64)
               openssl-libs(x86-64) = 1:1.0.1e-34.el7_0.6
           Available: 1:openssl-libs-1.0.1e-34.el7_0.7.x86_64 (cat-rhel71_x86_64)
               openssl-libs(x86-64) = 1:1.0.1e-34.el7_0.7
           Available: 1:openssl-libs-1.0.1e-42.el7.x86_64 (cat-rhel71_x86_64)
               openssl-libs(x86-64) = 1:1.0.1e-42.el7
           Available: 1:openssl-libs-1.0.1e-42.el7_1.4.x86_64 (cat-rhel71_x86_64)
               openssl-libs(x86-64) = 1:1.0.1e-42.el7_1.4
Error: Package: krb5-devel-1.12.2-14.el7.x86_64 (cat-rhel71_x86_64)
           Requires: krb5-libs(x86-64) = 1.12.2-14.el7
           Installed: krb5-libs-1.13.2-12.el7_2.x86_64 (@rhel-x86_64-server-7)
               krb5-libs(x86-64) = 1.13.2-12.el7_2
           Available: krb5-libs-1.11.3-49.el7.x86_64 (cat-rhel71_x86_64)
               krb5-libs(x86-64) = 1.11.3-49.el7
           Available: krb5-libs-1.12.2-14.el7.x86_64 (cat-rhel71_x86_64)
               krb5-libs(x86-64) = 1.12.2-14.el7
Error: Package: krb5-devel-1.12.2-14.el7.x86_64 (cat-rhel71_x86_64)
           Requires: libkdb5.so.7()(64bit)
           Available: krb5-libs-1.11.3-49.el7.x86_64 (cat-rhel71_x86_64)
               libkdb5.so.7()(64bit)
           Available: krb5-libs-1.12.2-14.el7.x86_64 (cat-rhel71_x86_64)
               libkdb5.so.7()(64bit)
           Installed: krb5-libs-1.13.2-12.el7_2.x86_64 (@rhel-x86_64-server-7)
              ~libkdb5.so.8()(64bit)
Error: Package: pcre-devel-8.32-14.el7.x86_64 (cat-rhel71_x86_64)
           Requires: pcre(x86-64) = 8.32-14.el7
           Installed: pcre-8.32-15.el7_2.1.x86_64 (@rhel-x86_64-server-7)
               pcre(x86-64) = 8.32-15.el7_2.1
           Available: pcre-8.32-12.el7.x86_64 (cat-rhel71_x86_64)
               pcre(x86-64) = 8.32-12.el7
           Available: pcre-8.32-14.el7.x86_64 (cat-rhel71_x86_64)
               pcre(x86-64) = 8.32-14.el7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
5
Gopal

依存関係をダウングレードすると、依存関係の問題が修正されました。

yum downgrade pcre  krb5-libs  openssl-libs openssl

これで、openssl-develのインストールが成功しました。

yum install openssl-devel

Python3を再インストールすると(./configure、make、make altinstall)、pip3がsslで機能するようになりました。

2
Gopal